使用 Puppeteer 点击复选框时出错

我在点击 Footlocker Au 结帐页面上的复选框时遇到问题。我尝试在网上搜索它并尝试使用选择器和 xpath,但两者都不起作用。

https://i.stack.imgur.com/uyXFe.png

这是我用过的,不过我试过标准 await page.click(" ");

网站:https://www.footlocker.com.au/en/p/nike-tuned-men-shoes-47241?v=244209281104#!searchCategory=men

await page.evaluate(() => {
   document.querySelector("body > main > div > div.fl-checkout > form > div > div.fl-checkout--content-container--address-block > div.fl-checkout--content-container--address-block--options-field > div:nth-child(3) > div > div > label").click();
});
gsephiroth 回答:使用 Puppeteer 点击复选框时出错

您可以直接定位输入并点击它。 使用 id 可以大大简化选择器,而不是这个非常长且可能不准确的选择器。

'#fl-input-checkbox-create-account-panel'

如果需要,您甚至可以定位标签:

'label[for="fl-input-checkbox-create-account-panel"]'
,

不久前我遇到了类似的问题,我拦截了不必要的请求(例如:样式表、字体等),这会影响页面的整体方面并破坏 await page.click(" "); 功能。这是因为 await page.click(" "); 在模仿人类行为。如果它不能被人类点击,那么它就不能被人偶操作(简而言之)。

为了解决这个问题,我使用了:

page.$eval(`YourSelectorPath`,element => element.click());
本文链接:https://www.f2er.com/3584.html

大家都在问