如何使用 puppeteer 按名称或文本单击按钮?

Pat*_*ada 4 node.js puppeteer

我是 puppeteer 的新手,一直在尝试单击 yahoo 上的某个按钮。我面临以下情况:

在此处输入图片说明

在此处输入图片说明

我尝试选择单击按钮,如下所示:

const [button] = await page.$x("//button[contains(., 'OK')]");
if (button) {
   await button.click();
}
Run Code Online (Sandbox Code Playgroud)

可惜没有成功。我一般如何点击“确定”按钮?以及检查按钮是否存在的解决方案是什么。非常感谢您的帮助。

Sim*_*iel 9

您可以使用名称属性作为名称的选择器:

await page.waitForSelector('button[name="agree"]');
await page.click('button[name="agree"]');
Run Code Online (Sandbox Code Playgroud)


Adr*_*ano 8

在浏览器中,打开按钮所在的页面。右键单击页面并选择“检查”。

然后,从 DOM 代码中,右键单击按钮,然后选择“复制 > 复制 JS 路径”。

该选择器可以很容易地在 puppeteer 中使用。