跳转到主要内容

Mouse

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

提示

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

每个 page 对象都有自己的鼠标,可以通过 Page.mouse() 访问。

// Using ‘page.mouse’ to trace a 100x100 square.
page.mouse().move(0, 0);
page.mouse().down();
page.mouse().move(0, 100);
page.mouse().move(100, 100);
page.mouse().move(100, 0);
page.mouse().move(0, 0);
page.mouse().up();

方法

点击

v1.9 之前添加 mouse.click

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

用法

Mouse.click(x, y);
Mouse.click(x, y, options);

参数

  • x double#

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

  • y double#

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

  • options Mouse.ClickOptions (可选)

    • setButton enum MouseButton { LEFT, RIGHT, MIDDLE } (可选)#

      默认为 left

    • setClickCount int (可选)#

      默认为 1。参见 UIEvent.detail

    • setDelay double (可选)#

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

返回


双击

v1.9 之前添加 mouse.dblclick

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

用法

Mouse.dblclick(x, y);
Mouse.dblclick(x, y, options);

参数

  • x double#

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

  • y double#

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

  • options Mouse.DblclickOptions (可选)

    • setButton enum MouseButton { LEFT, RIGHT, MIDDLE } (可选)#

      默认为 left

    • setDelay double (可选)#

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

返回


按下

v1.9 之前添加 mouse.down

分发一个 mousedown 事件。

用法

Mouse.down();
Mouse.down(options);

参数

  • options Mouse.DownOptions (可选)
    • setButton enum MouseButton { LEFT, RIGHT, MIDDLE } (可选)#

      默认为 left

    • setClickCount int (可选)#

      默认为 1。参见 UIEvent.detail

返回


移动

v1.9 之前添加 mouse.move

分发一个 mousemove 事件。

用法

Mouse.move(x, y);
Mouse.move(x, y, options);

参数

  • x double#

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

  • y double#

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

  • options Mouse.MoveOptions (可选)

    • setSteps int (可选)#

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

返回


抬起

v1.9 之前添加 mouse.up

分发一个 mouseup 事件。

用法

Mouse.up();
Mouse.up(options);

参数

  • options Mouse.UpOptions (可选)
    • setButton enum MouseButton { LEFT, RIGHT, MIDDLE } (可选)#

      默认为 left

    • setClickCount int (可选)#

      默认为 1。参见 UIEvent.detail

返回


滚轮

新增于: v1.15 mouse.wheel

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

注意

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

用法

Mouse.wheel(deltaX, deltaY);

参数

  • deltaX double#

    水平滚动的像素。

  • deltaY double#

    垂直滚动的像素。

返回