跳转到主要内容

Mouse

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

提示

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

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

await Page.Mouse.MoveAsync(0, 0);
await Page.Mouse.DownAsync();
await Page.Mouse.MoveAsync(0, 100);
await Page.Mouse.MoveAsync(100, 100);
await Page.Mouse.MoveAsync(100, 0);
await Page.Mouse.MoveAsync(0, 0);
await Page.Mouse.UpAsync();

方法

ClickAsync

v1.9 之前添加 mouse.ClickAsync

Mouse.MoveAsync(), Mouse.DownAsync(), Mouse.UpAsync() 的快捷方式。

用法

await Mouse.ClickAsync(x, y, options);

参数

  • x [float]#

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

  • y [float]#

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

  • options MouseClickOptions? (可选)

    • Button enum MouseButton { Left, Right, Middle }? (可选)#

      默认为 left

    • ClickCount int? (可选)#

      默认为 1。参见 UIEvent.detail

    • Delay [float]? (可选)#

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

返回


DblClickAsync

v1.9 之前添加 mouse.DblClickAsync

Mouse.MoveAsync(), Mouse.DownAsync(), Mouse.UpAsync(), Mouse.DownAsync()Mouse.UpAsync() 的快捷方式。

用法

await Mouse.DblClickAsync(x, y, options);

参数

  • x [float]#

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

  • y [float]#

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

  • options MouseDblClickOptions? (可选)

    • Button enum MouseButton { Left, Right, Middle }? (可选)#

      默认为 left

    • Delay [float]? (可选)#

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

返回


DownAsync

v1.9 之前添加 mouse.DownAsync

分发一个 mousedown 事件。

用法

await Mouse.DownAsync(options);

参数

  • options MouseDownOptions? (可选)
    • Button enum MouseButton { Left, Right, Middle }? (可选)#

      默认为 left

    • ClickCount int? (可选)#

      默认为 1。参见 UIEvent.detail

返回


MoveAsync

v1.9 之前添加 mouse.MoveAsync

分发一个 mousemove 事件。

用法

await Mouse.MoveAsync(x, y, options);

参数

  • x [float]#

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

  • y [float]#

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

  • options MouseMoveOptions? (可选)

    • Steps int? (可选)#

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

返回


UpAsync

v1.9 之前添加 mouse.UpAsync

分发一个 mouseup 事件。

用法

await Mouse.UpAsync(options);

参数

  • options MouseUpOptions? (可选)
    • Button enum MouseButton { Left, Right, Middle }? (可选)#

      默认为 left

    • ClickCount int? (可选)#

      默认为 1。参见 UIEvent.detail

返回


WheelAsync

新增于: v1.15 mouse.WheelAsync

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

注意

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

用法

await Mouse.WheelAsync(deltaX, deltaY);

参数

  • deltaX [float]#

    水平滚动的像素。

  • deltaY [float]#

    垂直滚动的像素。

返回