Skip to main content

Mouse

Mouse 类在相对于视口左上角的主框架 CSS 像素中运行。

🌐 The Mouse class operates in main-frame CSS pixels relative to the top-left corner of the viewport.

tip

如果你想调试鼠标的移动位置,可以使用 Trace viewerPlaywright Inspector。每次鼠标操作都会显示一个红点,标示鼠标的位置。

🌐 If you want to debug where the mouse moved, you can use the Trace viewer or Playwright Inspector. A red dot showing the location of the mouse will be shown for every mouse action.

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

🌐 Every page object has its own Mouse, accessible with 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();

方法

🌐 Methods

click

Added before v1.9 mouse.click

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

🌐 Shortcut for Mouse.move(), Mouse.down(), Mouse.up().

用法

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

参数

  • x double#

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

  • y double#

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

  • options Mouse.ClickOptions (optional)

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

      默认为 left

    • setClickCount int (optional)#

      默认为 1。请参阅 UIEvent.detail

    • setDelay double (optional)#

      mousedownmouseup 之间的等待时间,以毫秒为单位。默认值为 0。

返回


dblclick

Added before v1.9 mouse.dblclick

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

🌐 Shortcut for Mouse.move(), Mouse.down(), Mouse.up(), Mouse.down() and Mouse.up().

用法

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

参数

  • x double#

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

  • y double#

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

  • options Mouse.DblclickOptions (optional)

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

      默认为 left

    • setDelay double (optional)#

      mousedownmouseup 之间的等待时间,以毫秒为单位。默认值为 0。

返回


down

Added before v1.9 mouse.down

派发一个 mousedown 事件。

🌐 Dispatches a mousedown event.

用法

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

参数

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

      默认为 left

    • setClickCount int (optional)#

      默认为 1。请参阅 UIEvent.detail

返回


move

Added before v1.9 mouse.move

派发一个 mousemove 事件。

🌐 Dispatches a mousemove event.

用法

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

参数

  • x double#

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

  • y double#

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

  • options Mouse.MoveOptions (optional)

    • setSteps int (optional)#

      默认为1。发送 n 个插值的 mousemove 事件,以表示从 Playwright 当前光标位置到指定目的地的移动。当设置为1时,在目标位置只发出一个 mousemove 事件。

返回


up

Added before v1.9 mouse.up

派发一个 mouseup 事件。

🌐 Dispatches a mouseup event.

用法

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

参数

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

      默认为 left

    • setClickCount int (optional)#

      默认为 1。请参阅 UIEvent.detail

返回


wheel

Added in: v1.15 mouse.wheel

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

🌐 Dispatches a wheel event. This method is usually used to manually scroll the page. See scrolling for alternative ways to scroll.

note

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

🌐 Wheel events may cause scrolling if they are not handled, and this method does not wait for the scrolling to finish before returning.

用法

Mouse.wheel(deltaX, deltaY);

参数

  • deltaX double#

    水平滚动的像素。

  • deltaY double#

    垂直滚动的像素。

返回