Как получить указанное содержимое тега html, используя cheerio? - PullRequest
0 голосов
/ 03 октября 2018

Мне нужно получить идентификатор сессии для тестирования веб-сайта.Инструмент, который я использую, - Почтальон.Время от времени разработчик меняет местоположение запрошенного тега, и его местоположение по номеру периодически нарушается.

Полученный документ:

<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());
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...