为什么 Puppeteer elementHandler 没有选择器参数?

Why does Puppeteer elementHandler not have a selector argument?

这是我的代码:

const $container = $('.container');
$container.on('click', '#btn', function(){});

如何触发我的按钮事件?

您可以使用 page.evaluate() 来完成您的任务:

await page.evaluate(() => {
  document.querySelector('.container').addEventListener('click', event => {
    if (event.target.id === 'btn') {
      // Your function ...
    }
  });
});

然后你可以使用page.click()测试结果:

await page.click('#btn');

对不起,我忘记了这个问题。

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);

只需使用本机鼠标事件。