Puppeteer 如何在 ID、名称不可用时单击按钮

Puppeteer how to click a button when id, name not available

这可能很简单,但我不知道如何在 Puppeteer 中单击按钮的 ID、按钮名称不可用。

考虑下面的 html 代码。

<button data-bb-handler="success" type="button" class="btn btn-success">Answer</button>

如何在 Puppeteer 中单击“应答”按钮。

我试过下面的代码,它不起作用。

page.click('#Answer');
page.click('button[data-bb-handler="success"]');

请告诉我在这种情况下如何点击按钮。

这应该基于您的 HTML:

await page.click('button[data-bb-handler="success"]');

或尝试使用$eval功能点击

await page.$eval('button[data-bb-handler="success"]', button => button.click());

但这是不受信任的事件,阅读更多内容 here

此外,您可能需要等待元素才能点击:

await page.waitForSelector('button[data-bb-handler="success"]', {visible: true});
await page.click('button[data-bb-handler="success"]');
// or
await page.$eval('button[data-bb-handler="success"]', button => button.click());