Кукольник: Нажав на ссылку, которая обновляет элемент? - PullRequest
0 голосов
/ 29 апреля 2020

Я пытаюсь собрать данные из таблицы веб-сайта с помощью Puppeteer. Однако, когда таблица содержит более 100 записей, она разбивает ее по нескольким таблицам и имеет стрелки для навигации. После того, как я соскребу всю информацию из первых 100 записей на странице 1 таблицы, я хочу щелкнуть следующую стрелку «>>» и go для следующих 100 записей, чтобы очистить их и так далее. Но стрелка «>>» при нажатии в обычном браузере не приводит к новой странице, а просто обновляет содержимое той же таблицы.

Я проверил HTML и увидел, что кнопка ">>" завернута в

<a href="/DailyReport?page=2" rel="next">

Я попытался получить элемент и щелкнуть по нему:

const nextButton = await page.$('ul.wrapper > li > a[rel=next]');
await nextButton.click();
await page.waitForSelector('.dataTable');

... но это не работает. Я подтвердил, что nextButton был элемент, который я хотел получить, зарегистрировав внешний HTML.

Я также попытался просто

await page.goto('www.originaldomain.com/DailyReport?page=2')

, но это не работает, потому что это пытается загрузить новую страницу с этим URL (не найдено), вместо того, чтобы просто обновить один элемент dataTable.

Похоже, что при обычном использовании маршрутизация на /DailyReport?page=2 вызывает некоторые JavaScript для обновления элементов таблицы. Как мне повторить это нажатие кнопки «Следующая страница», чтобы обновить таблицу с помощью кукловода?

РЕДАКТИРОВАТЬ: Опечатка от waitForElement(...) до waitForSelector(...)

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