这可能很简单,但是如果id,按钮名称不可用,我将无法在Puppeteer中单击按钮。
考虑以下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"]');
请告诉我在这种情况下如何单击按钮。
答案 0 :(得分:3)
这应该基于您的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());