Кукольник - прокрутка бесконечной страницы не работает в режиме без головы - PullRequest
0 голосов
/ 11 декабря 2018

Я не могу запустить тот же код без заголовка на true.

Я получаю эту ошибку: Превышено время ожидания перехода: превышено 30000 мс

Как это исправить?

const puppeteer = require('puppeteer')
const cheerio = require('cheerio');

(async () => {
  const browser = await puppeteer.launch({headless: true})
  const page = await browser.newPage()
  await page.setRequestInterception(true)
  page.on('request', request => {
    if (request.resourceType() === 'image') {
      request.abort()
    } else {
      request.continue()
    }
  })
  await page.goto('http://amzn.eu/ebKNEqg')
  await scroll(page)

  let content = await page.content()
  let $ = cheerio.load(content)
  const whishlist = []
  $('h3.a-size-base a.a-link-normal').each((i, elem) => {
    whishlist[i] = $(elem).attr('href')
  })
  console.log(whishlist)
  await browser.close()
})()

async function scroll (page) {
  let i = 0
  while (await page.$('.wl-see-more') !== null) {
    i++
    // Scroll to bottom to load more
    await page.evaluate(_ => {
      window.scrollBy(0, window.innerHeight)
    })
    console.log('Loop #' + i)
  }
}

Я также пытаюсь ускорить кукловод, блокируя загрузку изображений, если у вас есть другие советы, применимые здесь, мне интересно!

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