Извлеките значение из HTML-ответа с помощью Cheerio с помощью почтальона

#html #postman #cheerio

Вопрос:

Я пытаюсь получить значение из запроса, которое возвращает HTML-ответ, используя Postman. Я использую Cheerio в разделе сценариев.

Ответ выглядит так:

     <table class="etlsessions-table" cellpadding="0" cellspacing="0">
        <thead>
            <tr>
                <th class="someclass1">
                    <div>
                        <span>info1</span>
                    </div>
                </th>
                <th class="someclass2">
                    <div>
                        <span>info2</span>
                    </div>
                </th>
                <th class="someclass3">
                    <div>
                        <span>info3</span>
                    </div>
                </th>
                <th class="someclass2">
                    <div>
                        <span>info4</span>
                    </div>
                </th>
            </tr>
        </thead>
        <tbody>
            <tr class="someclass5">
                <td class="someclass">
                    <nobr>info5</nobr>
                </td>
                <td class="someclass6">
                    <nobr>info6</nobr>
                </td>
                <td class="someclass3">info7</td>
                <td class="someclass7">
                    <a href="http://www.google.com">someurl1</a>
                </td>
            </tr>
       </tbody>
    </table> 

Как я могу получить info6 значение из someclass6 класса?

Ответ №1:

Поскольку Cheerio встроен в среду песочницы Postman, вы можете использовать его для получения значения элемента.

Я не уверен в вашем полном варианте использования, но вы могли бы добавить что-то вроде этого в Tests сценарий и распечатать значение на консоли:

 const $ = cheerio.load(pm.response.text()),
    elementValue = $('.someclass6 nobr').text();

console.log(elementValue)
 

Ответ №2:

Postman-это программное обеспечение, которое позволит вам совершать звонки на конечные точки API, поэтому в основном ваша программа будет написана на node.js и вы позвоните в конечную точку с почтальоном.

В этом случае и при использовании cheerio код будет выглядеть примерно так :

 function getResponse() {

return fetch(`${YOUR API END POINT URL}`)
.then(response => response.text())
.then(body => {
  const $ = cheerio.load(body);
  const $info6= $('.someclass6 td );

  const info6= $info6.first().contents().filter(function() {
    return this.type === 'text';
  }).text().trim();
  const response= {
    info6,
  };

  return response;
});
}
 

Желаю удачи !