跳转到主要内容

Mouse

Mouse 类以主框架 CSS 像素为单位操作,相对于视口的左上角。

提示

如果您想调试鼠标移动的位置,可以使用跟踪查看器Playwright Inspector。每次鼠标操作都会显示一个红点,指示鼠标的位置。

每个 page 对象都有自己的 Mouse,可通过 page.mouse 访问。

// Using ‘page.mouse’ to trace a 100x100 square.
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();

方法

点击

v1.9 之前添加 mouse.click

mouse.move()mouse.down()mouse.up() 的快捷方式。

用法

await mouse.click(x, y);
await mouse.click(x, y, options);

参数

  • x 数字#

    相对于主框架视口(CSS 像素)的 X 坐标。

  • y 数字#

    相对于主框架视口(CSS 像素)的 Y 坐标。

  • options Object (可选)

    • button "left" | "right" | "middle" (可选)#

      默认为 left

    • clickCount 数字 (可选)#

      默认为 1。参见 UIEvent.detail

    • delay 数字 (可选)#

      mousedownmouseup 之间等待的时间(毫秒)。默认为 0。

返回


双击

v1.9 之前添加 mouse.dblclick

mouse.move()mouse.down()mouse.up()mouse.down()mouse.up() 的快捷方式。

用法

await mouse.dblclick(x, y);
await mouse.dblclick(x, y, options);

参数

  • x 数字#

    相对于主框架视口(CSS 像素)的 X 坐标。

  • y 数字#

    相对于主框架视口(CSS 像素)的 Y 坐标。

  • options Object (可选)

    • button "left" | "right" | "middle" (可选)#

      默认为 left

    • delay 数字 (可选)#

      mousedownmouseup 之间等待的时间(毫秒)。默认为 0。

返回


按下

v1.9 之前添加 mouse.down

分发一个 mousedown 事件。

用法

await mouse.down();
await mouse.down(options);

参数

  • options Object (可选)
    • button "left" | "right" | "middle" (可选)#

      默认为 left

    • clickCount 数字 (可选)#

      默认为 1。参见 UIEvent.detail

返回


移动

v1.9 之前添加 mouse.move

分发一个 mousemove 事件。

用法

await mouse.move(x, y);
await mouse.move(x, y, options);

参数

  • x 数字#

    相对于主框架视口(CSS 像素)的 X 坐标。

  • y 数字#

    相对于主框架视口(CSS 像素)的 Y 坐标。

  • options Object (可选)

    • steps 数字 (可选)#

      默认为 1。发送中间的 mousemove 事件。

返回


抬起

v1.9 之前添加 mouse.up

分发一个 mouseup 事件。

用法

await mouse.up();
await mouse.up(options);

参数

  • options Object (可选)
    • button "left" | "right" | "middle" (可选)#

      默认为 left

    • clickCount 数字 (可选)#

      默认为 1。参见 UIEvent.detail

返回


滚轮

新增于: v1.15 mouse.wheel

分发一个 wheel 事件。此方法通常用于手动滚动页面。有关其他滚动方式,请参阅滚动

注意

滚轮事件如果未被处理,可能会导致滚动,并且此方法不会等待滚动完成才返回。

用法

await mouse.wheel(deltaX, deltaY);

参数

  • deltaX 数字#

    水平滚动的像素。

  • deltaY 数字#

    垂直滚动的像素。

返回