#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;
});
}
Желаю удачи !