当我按住鼠标左键时,是否可以使操纵up的光标按住鼠标左键(进行绘制或拖动)?并在同一位置?
我使用IoHook做了一些事情。
ioHook.on("mouseclick", event => {
//console.log(event.x);
/* You get object like this
{
type: 'mousemove',
x: 700,
y: 400
}
*/
var x = event.x
var y = event.y - 71
page.mouse.click(x, y, { button: 'left' })
});
ioHook.on("mousemove", event => {
//console.log(event.x);
/* You get object like this
{
type: 'mousemove',
x: 700,
y: 400
}
*/
var x = event.x
var y = event.y - 71
page.mouse.move(x, y)
});
这段代码跟随我的鼠标,并在我单击的位置单击,但是它不会按住鼠标左键并在我移动的位置移动。因此,我想像鼠标基本操作一样跟随鼠标的光标拉动。
page.mouse.click(x,y,{button:'left'})被用作木偶的光标。
答案 0 :(得分:2)
在puppeteer文档网站中:
https://pptr.dev/#?product=Puppeteer&version=v2.0.0&show=api-class-mouse
使用“ page.mouse”跟踪一个100x100的正方形。
await page.mouse.move(0, 0); await page.mouse.down(); await page.mouse.move(0, 100); await page.mouse.move(100, 100); await page.mouse.move(100, 0); await page.mouse.move(0, 0); await page.mouse.up();
因此,要进行鼠标拖动,必须在await page.mouse.move()
之后和await page.mouse.down()
之前放置一些await page.mouse.up()
page.mouse.click()
是两个事件mouse.down()
和mouse.up()
在同一位置上的组合,但延迟时间很短。
在IOHook文档中: https://wilix-team.github.io/iohook/usage.html#mousedrag
在用户单击并拖动某些东西时触发。
{ button: 0, clicks: 0, x: 373, y: 683, type: 'mousedrag' }
因此,解决方案是,您必须监听mousedrag事件。
答案 1 :(得分:0)
解决方案。添加了mousedrag事件。
ioHook.on("mousedrag", event => {
var x = event.x
var y = event.y - 71
console.log( "mouseDRAG!!!" + event)
page.mouse.move(x, y);
});
ioHook.on("mousemove", event => {
var x = event.x
var y = event.y - 71
console.log( "mousemove!!!" + event)
page.mouse.move(x, y);
});
ioHook.on("mousedown", event => {
var x = event.x
var y = event.y - 71
console.log( "mousedown!!!" + event)
page.mouse.down();
});
ioHook.on("mouseup", event => {
var x = event.x
var y = event.y - 71
console.log( "mouseup!!!" + event)
page.mouse.up();
});