无法使用 Puppeteer 单击元素
Unable to click element with Puppeteer
URL : https://auto.ru/catalog/cars/all/?page_num=1
JS代码:
const puppeteer = require('puppeteer');
(async () => {
try {
const browser = await puppeteer.launch({args: ['--no-sandbox']});
const page = await browser.newPage();
await page.goto('https://auto.ru/catalog/cars/all/?page_num=1', {waitUntil: 'networkidle2'});
await page.click('#confirm-button');
await page.waitFor(1000);
await page.screenshot({path: './data/example.png'});
await browser.close();
} catch (err) {
console.error(err);
}
})();
当我运行此代码没有错误但也没有点击时,我停留在同一页面。
如何使用 Puppeteer 单击左侧蓝色按钮(使用隐身模式打开 URL 以查看按钮)?
它工作正常。您只需等待导航完成即可拍摄快照。此外,请始终确保元素在尝试单击之前出现:
await page.waitForSelector("#confirm-button");
await Promise.all([
page.click('#confirm-button'),
page.waitForNavigation()
]);
await page.screenshot({path: './data/example.png'});
URL : https://auto.ru/catalog/cars/all/?page_num=1
JS代码:
const puppeteer = require('puppeteer');
(async () => {
try {
const browser = await puppeteer.launch({args: ['--no-sandbox']});
const page = await browser.newPage();
await page.goto('https://auto.ru/catalog/cars/all/?page_num=1', {waitUntil: 'networkidle2'});
await page.click('#confirm-button');
await page.waitFor(1000);
await page.screenshot({path: './data/example.png'});
await browser.close();
} catch (err) {
console.error(err);
}
})();
当我运行此代码没有错误但也没有点击时,我停留在同一页面。
它工作正常。您只需等待导航完成即可拍摄快照。此外,请始终确保元素在尝试单击之前出现:
await page.waitForSelector("#confirm-button");
await Promise.all([
page.click('#confirm-button'),
page.waitForNavigation()
]);
await page.screenshot({path: './data/example.png'});