Я пытаюсь кликнуть на Cookiewall на веб-странице, но Puppeteer отказывается распознавать короткий селектор только с помощью селектора типа и класса (button.button-action
). Изменение этого параметра на полный селектор CSS устраняет проблему, но не является жизнеспособным решением, поскольку любой шанс в родительских элементах может сломать селектор. Насколько я знаю, это не должно быть проблемой, потому что на рассматриваемой странице использование document.querySelector("button.button-action")
также возвращает элемент, который я пытаюсь щелкнуть.
Код, который не работает:
const puppeteer = require('puppeteer');
const main = async () => {
const browser = await puppeteer.launch({headless: false,});
const page = await browser.newPage();
await page.goto("https://www.euclaim.nl/check-uw-vlucht#/problem", { waitUntil: 'networkidle2' });
const cookiewall = await page.waitForSelector("button.button-action", {visible: true});
await cookiewall.click();
};
main();
Код, который работает:
const puppeteer = require('puppeteer');
const main = async () => {
const browser = await puppeteer.launch({headless: false,});
const page = await browser.newPage();
await page.goto("https://www.euclaim.nl/check-uw-vlucht#/problem", { waitUntil: 'networkidle2' });
const cookiewall = await page.waitForSelector("#InfoPopupContainer > div.ipBody > div > div > div.row.actionButtonContainer.mobileText > button", {visible: true});
await cookiewall.click();
};
main();