Google chrome devtools 为什么Puppeter elementHandler没有选择器参数?

Google chrome devtools 为什么Puppeter elementHandler没有选择器参数?,google-chrome-devtools,puppeteer,google-chrome-headless,Google Chrome Devtools,Puppeteer,Google Chrome Headless,这是我的密码: const $container = $('.container'); $container.on('click', '#btn', function(){}); 如何触发我的按钮事件?您可以使用来完成任务: await page.evaluate(() => { document.querySelector('.container').addEventListener('click', event => { if (event.target.id ==

这是我的密码:

const $container = $('.container');
$container.on('click', '#btn', function(){});
如何触发我的按钮事件?

您可以使用来完成任务:

await page.evaluate(() => {
  document.querySelector('.container').addEventListener('click', event => {
    if (event.target.id === 'btn') {
      // Your function ...
    }
  });
});
然后,您可以使用以下方法测试结果:


对不起,我忘了这个问题

await page.waitForSelector(INPUT_SELECTOR, {timeout: 15000});
const pointer = await page.evaluate((sel) => {
  const rect = document.querySelector(sel).getBoundingClientRect();
  return [(rect.top + rect.height) / 2, (rect.left + rect.width) / 2];
}, INPUT_SELECTOR);
await page.mouse.click(...pointer);

只需使用本机鼠标事件。

您的意思是您给出的代码在网页上,并且您想触发来自Puppeter的
单击
事件吗?@Aankhen是的。这段代码已经在我的HTML中,我想触发它
await page.waitForSelector(INPUT_SELECTOR, {timeout: 15000});
const pointer = await page.evaluate((sel) => {
  const rect = document.querySelector(sel).getBoundingClientRect();
  return [(rect.top + rect.height) / 2, (rect.left + rect.width) / 2];
}, INPUT_SELECTOR);
await page.mouse.click(...pointer);