Puppeteer 按钮单击问题:节点不可单击或不是元素

问题描述 投票:0回答:1

我正在使用一个脚本,其中有一个弹出窗口,并且使用 xpath 出现确认按钮,选择器正常,脚本在本地环境中运行得很好,但在 DigitalOcean Droplet 上运行的虚拟机上抛出此错误,该按钮不可点击,它留下或有陈旧的参考错误我不熟悉木偶操作者可以推荐在这里做什么

const connectButton = await popupPage.waitForSelector('::-p-xpath(//button[contains(., "Connect")])', { timeout: 20000 });
if (connectButton) {
  console.log('Connect button found.');
  await connectButton.evaluate(button => button.scrollIntoView());
  await connectButton.click();
  console.log('Connect button clicked.');
  await delay(5000);
} else {
  throw new Error('Connect button not found or not interactable.');
}

这里的错误是

找到连接按钮但不可点击。

我也尝试阅读此资源,但无法弄清楚并更新我的脚本,有时我什至发现评估函数出现错误,它是在页面对象而不是元素上吗?

https://github.com/puppeteer/puppeteer/issues/10072

javascript node.js async-await click puppeteer
1个回答
0
投票

我发现我正在调用按钮上的评估,它需要在页面对象上调用,并传递按钮元素的引用

try{
    await popupPage.evaluate(button => button.click(), connectButton);
console.log('Connect button clicked.');
await delay(5000);

}
catch(error){
    console.log('Error clicking connect button:', error);
}
© www.soinside.com 2019 - 2024. All rights reserved.