跳到主要内容
版本: 23.11.1

定位器类

定位器描述了一种定位对象并对其执行操作的策略。如果由于对象未准备好执行操作而导致操作失败,则会重试整个操作。会自动检查成功操作的各种先决条件。

有关详细信息,请参阅 https://puppeteer.com.cn/guides/page-interactions#locators

签名

export declare abstract class Locator<T> extends EventEmitter<LocatorEvents>

继承自: EventEmitter<LocatorEvents>

属性

属性

修饰符

类型

描述

_

可选

T

用于为 Locator 进行名义类型化。

超时

只读

数字

方法

方法

修饰符

描述

click(this, options)

单击定位的元素。

clone()

克隆定位器。

fill(this, value, options)

使用提供的值填充由定位器标识的输入。输入的类型在运行时确定,并根据类型选择适当的填充方法。支持 contenteditable、select、textarea 和 input 元素。

filter(predicate)

创建一个针对定位值进行评估的期望。

如果期望不匹配,则定位器将重试。

hover(this, options)

将鼠标悬停在定位的元素上。

map(mapper)

使用提供的映射器映射定位器。

race(locators)

静态

在尝试并行定位元素的多个定位器之间创建一个竞争,但确保只有一个元素接收到操作。

scroll(this, options)

滚动定位的元素。

setEnsureElementIsInTheViewport(this, value)

通过克隆当前定位器并指定如果元素尚未在视口中,定位器是否应将元素滚动到视口中,来创建新的定位器实例。

setTimeout(timeout)

通过克隆当前定位器并设置定位器操作的总超时时间,来创建新的定位器实例。

传递 0 以禁用超时。

setVisibility(this, visibility)

通过克隆当前定位器并将可见性属性更改为指定的值,来创建新的定位器实例。

setWaitForEnabled(this, value)

通过克隆当前定位器并指定在操作之前是否等待输入元素变为启用状态,来创建新的定位器实例。适用于 clickfill 操作。

setWaitForStableBoundingBox(this, value)

通过克隆当前定位器并指定定位器是否必须等待元素的边界框在两个连续的动画帧之间相同,来创建新的定位器实例。

wait(options)

等待定位器从页面获取序列化的值。

请注意,这要求该值是 JSON 可序列化的。

waitHandle(options)

等待定位器从页面获取句柄。