Я создаю небольшое приложение для целей разработки, которое переходит на веб-сайт TripAdvisor, загружает страницу, получает результаты этой страницы и записывает их на консоль. У меня возникают некоторые проблемы, когда я пытаюсь выяснить, как перейти на «следующую» страницу, а затем переоценить содержимое и получить всю информацию со второй страницы для добавления в какой-либо массив, мой код в настоящее время:
// require Puppeteer
const puppeteer = require('puppeteer');
// launch Puppeteer with options, wait for it to launch
puppeteer.launch({
headless: false
}).then(async browser => {
// go to our page of choice, and wait for the body to load
const page = await browser.newPage();
await page.goto('https://www.tripadvisor.co.uk/Restaurants-g186458-Bridgend_Bridgend_County_South_Wales_Wales.html');
await page.waitForSelector('body');
// wait before evaluating the page
await page.evaluate(() => {
// get filters
const filters = document.querySelectorAll('.restaurants-filters-Filters__wrapper--3z-oK .common-filters-FilterWrapper__container--3m4Qd')
// loop through filters and select them
for (let filter of Array.from(filters)) {
const filterLabel = filter.querySelector('.common-filters-FilterWrapper__headerText--1G5Z1')
if (filterLabel.innerText === 'Establishment Type') {
filter.querySelector('._3kI1z_wP.v8kb8R34').click() // expand options
filter.querySelector('input[type="checkbox"][value="11776"]').click() // Bars & Pubs
}
}
// get bars after filtering
const bars = document.querySelectorAll('.restaurants-list-List__wrapper--3PzDL ._1llCuDZj')
// loop through bars on the page
for (let bar of Array.from(bars)) {
const barTitle = bar.querySelector('.wQjYiB7z').innerText
console.log(barTitle)
}
});
// browser.close();
});
В приведенном выше примере я смог просто открыть выбранную мной веб-страницу, выбрать фильтр, который затем загрузит мои результаты, после чего я смогу получить все ._1llCuDZj
на странице 1, , но потом не могу понять, как перейти на следующую страницу и получить оттуда информацию, поскольку нет параметра URL, по которому я могу просто обновить номер страницы ...
какие-либо предложения?