Мне нужно получить идентификатор сессии для тестирования веб-сайта.Инструмент, который я использую, - Почтальон.Время от времени разработчик меняет местоположение запрошенного тега, и его местоположение по номеру периодически нарушается.
Полученный документ:
<html>
<head>
...
<script type="text/javascript">...</script>
...
<script type="text/javascript">(window.BX||top.BX).message({'LANGUAGE_ID':'ru','FORMAT_DATE':'DD.MM.YYYY','FORMAT_DATETIME':'DD.MM.YYYY HH:MI:SS','COOKIE_PREFIX':'B_SM','SERVER_TZ_OFFSET':'10800','SITE_ID':'s1','SITE_DIR':'/','USER_ID':'','SERVER_TIME':'1538547122','USER_TZ_OFFSET':'0','USER_TZ_AUTO':'Y','sessid':'2a91e49f2131db830399ae14da8a5f1c'});</script>
<script type="text/javascript">...</script>
</head>
...
</html>
Содержимое тега не изменяется, поэтому я использовал это решение:
var a=cheerio.load(pm.response.text());
var b=a('script').eq(5).text();
var c=b.indexOf("sid");
var d=b.indexOf("}");
Postman.setEnvironmentVariable('sid',b.substr(c,d-c));
Затем что-то пошло не так, и номер заказа стал float, мне нужно проверить, если выбранный тег script содержит sessid, программа overvise должна проверить следующую.В настоящее время мне нужно распечатать содержимое каждого тега script , чтобы найти в нем sessid , но цикл не работает:
a('script').each(function (i, e) {
console.log(a('script').eq(i).text());
также я пробовал:
a('script').each(function (i, e) {
console.log(i,a(this).text());
});