Как я могу получить текст внутри <span>с помощью кукловода? - PullRequest
0 голосов
/ 12 февраля 2020

Имея следующее html:

<div class="col-xs-6 col-md-6 nopaddingright">
    <ul class="account-statics clearright">
        <li>
          <span class="title">Title1</span>
          <span class="value fs13 ">value1</span>
        </li>
        <li>
          <span class="title">Title2</span>
          <span class="value fs13 ">value2</span>
          <ul class="account-sub">
            <li>
              <span class="title">Title3</span>
              <span class="value fs13 ">value3</span>
            </li>
            <li>
              <span class="title">Title4</span>
              <span class="value fs13 ">value4</span>
            </li>
          </ul>
        </li>
        <li>
          <span class="title">Title5</span>
          <span class="value fs13 ">value5</span>
        </li>
    </ul>
</div>

Я хочу получить текст внутри всех вторых элементов.

Я пробовал так:

const element = await page.$('div > ul[class="account-statics clearright"] > ul > li:nth-child(2) > span:nth-child(2)');

И еще один способ:

const elements= await page.$$('span[class="value fs13 "]');

Но обе попытки не сработали. Как я могу решить это?

1 Ответ

0 голосов
/ 12 февраля 2020
const sp = await page.$x('//*[contains(@class, ".fs13")]');    
const spanName = await (await sp.getProperty('textContent')).jsonValue();

Следующий код даст вам текст span, предполагая, что имя класса в span - fs13.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...