Кукловод - подсчет элементов по имени класса - PullRequest
0 голосов
/ 01 июня 2018

Я пытаюсь получить информацию обо всех элементах с определенным именем класса в массиве.

Проблема в том, что это динамически генерируемая HTML-страница, и пока я прокручиваю вниз, появляются новые элементыимя этого класса появляется.

К счастью, я заранее знаю, сколько таких элементов существует.

Так что мое гипотетическое решение - проверить количество элементов с этим конкретным именем класса и до тех пор, покаэто число меньше того, которое я знаю, продолжайте прокручивать вниз.

Проблема в том, что я не знаю точно, как считать элементы определенного имени класса внутри кукловода, и API тоже не очень полезен.

1 Ответ

0 голосов
/ 02 июня 2018

Я думаю, это то, что вы ищете

const puppeteer = require('puppeteer')

async function count () {
  const browser = await puppeteer.launch()
  const page = await browser.newPage()
  await page.goto('https://news.ycombinator.com', {waitUntil: 'networkidle2'})
  await page.evaluate(_ => {
    window.scrollBy(0, window.innerHeight)
  })

  console.log('how many?', (await page.$$('td.title')).length)

  await browser.close()
}

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