Javascript 如何使用木偶演员进行右击?

Javascript 如何使用木偶演员进行右击?,javascript,node.js,google-chrome-devtools,puppeteer,headless-browser,Javascript,Node.js,Google Chrome Devtools,Puppeteer,Headless Browser,我想和木偶演员表演右击 我尝试添加以下选项: await component.click({ button: "right" }) 但我得到的只是一次对组件的定期点击。我跟着木偶演员的 我做错了什么?正确的做法是,您可以将按钮选项设置为'right'右键单击元素: const example = await page.$('#example'); await example.click({ button: 'right', }); 根据元素句柄的官方文档,单击(): 如果需要,此方法将

我想和木偶演员表演右击

我尝试添加以下选项:

await component.click({ button: "right" })
但我得到的只是一次对组件的定期点击。我跟着木偶演员的


我做错了什么?

正确的做法是,您可以将
按钮
选项设置为
'right'
右键单击元素:

const example = await page.$('#example');

await example.click({
  button: 'right',
});
根据
元素句柄的官方文档,单击()

如果需要,此方法将元素滚动到视图中,然后使用在元素的中心单击。如果元素与DOM分离,该方法将抛出一个错误

我们可以通过查看来验证这一点,并且可以看到在Chrome DevTools协议中发送到之前考虑了
按钮
选项

在图元上单击鼠标右键的另一种方法是使用:

或者,您可以使用在页面DOM环境中执行JavaScript的元素上单击鼠标右键:

await page.evaluate(() => {
  const example = document.getElementById('example');
  const event = document.createEvent('MouseEvents');

  event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 2, null);

  example.dispatchEvent(event);
});
await page.evaluate(() => {
  const example = document.getElementById('example');
  const event = document.createEvent('MouseEvents');

  event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 2, null);

  example.dispatchEvent(event);
});