У меня возникают трудности с использованием кукловода, чтобы нажать кнопку и перейти на следующую страницу. Всякий раз, когда я запускаю программу, она прерывается и выдает мне: TimeoutError: Превышено время ожидания навигации 30000 мс. Моя программа в настоящее время просто вводит адрес на ubereats.com и нажимает кнопку «Найти еду».
Я уже использую
await Promise.all([
page.waitForNavigation(),
page.click("#wrapper > main > div.ao.ap.aq.ar.af > div.ag.bq.br.bs.bn > div > button"),
]);
Когда я попробовал один и тот же код (с разными селекторами) в Google .com это работает. Когда я запустил его с безголовым значением false, он показал ввод адреса и прокрутку по центру на кнопке, но потом ничего не произошло. Это сработало, когда я вручную нажал на кнопку. Я также попробовал это со всеми различными вариантами waitForNavigation. Любое руководство будет очень полезным! Заранее спасибо.
Полный код для справки:
async function scrapeProduct(url, address) {
const browser = await puppeteer.launch({headless: false});
const page = await browser.newPage();
await page.goto(url);
await page.type("#location-typeahead-home-input", address);
await Promise.all([
page.waitForNavigation(),
page.click("#wrapper > main > div.ao.ap.aq.ar.af > div.ag.bq.br.bs.bn > div > button"),
]);
await page.screenshot({path: "test.png"});
browser.close();
}