Кукловод: щелкните по тегу, дождитесь загрузки новой страницы из ссылки, затем сделайте скриншот - PullRequest
0 голосов
/ 17 января 2019

Возиться с кукловодом и нигде не видеть ответа на этот вопрос, хотя его задавали несколько раз:

Ожидаемый результат: 1. Нажмите на тег через его имя класса 2. дождитесь окончания загрузки новой страницы (ссылки в тегах) 3. сделайте снимок экрана с новой страницей, чтобы продемонстрировать, что этот процесс прошел успешно

Вот мой код:

const puppeteer = require('puppeteer');
const browser = await puppeteer.launch()
const page = await browser.newPage()

await page.setViewport({
  width: 800,
  height: 600
})

await page.goto('https://www.example.com/')

await page.click('.targeted_class_with_a_tag')
await page.waitForNavigation({ waitUntil: 'networkidle2' })

await page.screenshot({
  path: 'mouse_click.png'
})
await browser.close()

Я ожидал, что на скриншоте будет страница, на которую вы перешли с помощью тега, по которому щелкнули. Вместо этого время ожидания. Если я удаляю waitForNavigation, он просто снимает скриншот с начальной загруженной страницы.

Может кто-нибудь сказать мне, где я ошибся здесь?

Спасибо!

1 Ответ

0 голосов
/ 17 января 2019

Попробуйте дождаться выбора на новой странице: await page.waitForSelector('.someThingOnThisPage'); вместо waitForNavigation

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