Вот пример кода, который может помочь вам решить эту задачу:
Установите Puppeteer, если вы еще этого не сделали:
npm install puppeteer
Создайте скрипт для парсинга страницы:
const puppeteer = require('puppeteer');
(async () => {
// Запуск браузера
const browser = await puppeteer.launch({ headless: false });
const page = await browser.newPage();
// Переход на нужную страницу
await page.goto('https://thelastdb.games');
// Функция для проверки наличия кнопки "Показать еще" и нажатия на нее
const clickShowMore = async () => {
const showMoreButton = await page.$('button:contains("Показать еще")');
if (showMoreButton) {
await showMoreButton.click();
await page.waitForSelector('button:contains("Показать еще")', { timeout: 5000 }).catch(() => null);
return true;
}
return false;
};
// Основной цикл для скроллинга и нажатия на кнопку
let hasMore = true;
while (hasMore) {
// Скролл страницы вниз
await page.evaluate(() => {
window.scrollBy(0, window.innerHeight);
});
// Ожидание загрузки новых элементов
await page.waitForTimeout(1000);
// Попытка нажать на кнопку "Показать еще"
hasMore = await clickShowMore();
}
// Получение HTML после всех загрузок
const content = await page.content();
console.log(content);
// Закрытие браузера
await browser.close();
})();
пробовал использовать Puppeteer, но не выходит что то.
Необходимо, чтобы парсер проскролил до кнопки "Показать еще" и нажал на нее и передал новый html для обработки. В консоли при нажатии на кнопку отправляется запрос ajax.php с ссылкой, которая никуда не ведет.
Может кто знает подскажет? (сайт thelastdb.games )