任何人都可以在页面处于模拟设备模式下时模拟与操纵p的拖动缩放交互。要以用户身份执行此操作,请在拖动鼠标的同时按住SHIFT键。
不幸的是,以下操作无效
const cx = 160;
const cy = 284;
await page.mouse.move(cx, cy);
await page.keyboard.down('Shift');
await page.mouse.down();
await page.mouse.move(cx, cy - 300, {steps: 300});
await page.mouse.up();
await page.keyboard.up('Shift');
答案 0 :(得分:1)
根据this issue上的对话,他们不打算添加此类功能。我会引用他们的回应,
我不喜欢为WebPlatform的事件添加伪造者级别的API。 Puppeteer的点击与WebPlatform的点击不同 document.createEvent;将它们作为唯一的一流API 强调建议使用它们来点击 页面。
我建议使用一组帮助方法来满足您的需求。
但是您可以通过这种方式做到
await this._client.send('Input.dispatchMouseEvent', {
type: 'mousePressed',
button: this._button,
x: this._x,
y: this._y,
modifiers: this._keyboard._modifiers,
clickCount: (options.clickCount || 1)
});
这里是触发一个小鼠标事件的另一个代码段(与.evaluate函数一起使用)。
function triggerMouseEvent (node, eventType) {
var clickEvent = document.createEvent ('MouseEvents');
clickEvent.initEvent (eventType, true, true);
node.dispatchEvent (clickEvent);
}