Кукловод, как щелкнуть дочерний элемент «следующий брат» - PullRequest
0 голосов
/ 05 июня 2019

Я хочу выбрать и щелкнуть указанный <a> следующего брата, html-код ниже:

<ul>
  <li>
    <a></a>
  </li>
  <li>
    <a></a>
  </li>
  <li class='abc'>
    <a></a>
  </li>
  <li>
    <a></a> <!-- I want to click this link -->
  </li>
</ul> 

<ul> меняется, но <li class='abc'> не меняется

и используйте приведенный ниже код:

    let tag = await page.evaluate(() => {
        return document.querySelector('li.abc').nextSibling.a
    })

    console.log(tag?'Y': 'N')
    // await page.click(tag)

, затем выведите 'N'

Может кто-нибудь помочь мне исправить эту ошибку? Заранее спасибо!

1 Ответ

0 голосов
/ 05 июня 2019

Получил этот ответ от Дейва Батиста (пользователь puppeteer.slack.com),

Благодаря точке @Vaviloff, что: я должен опубликовать этот ответ.

Используйте код page.click('.abc + li > a')можете щелкнуть по указанному <a>, который я хочу, и Дейв Батист (пользователь puppeteer.slack.com) предоставит дополнительную информацию, как показано ниже:

Если вам нужен дескриптор, который можно вызывать методамиЯ думаю, вам будет интересно> page.$ ...

const handle = await page.$(selector);
handle.click(options);
...