跳至主要內容
版本:23.11.1

Locator 類別

Locator 描述了定位物件並對其執行動作的策略。如果因為物件尚未準備好執行動作而導致動作失敗,則會重試整個操作。系統會自動檢查成功執行動作的各種先決條件。

詳情請參閱 https://puppeteer.dev.org.tw/guides/page-interactions#locators

簽章

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

繼承自: EventEmitter<LocatorEvents>

屬性

屬性

修飾符

類型

描述

_

optional

T

用於名義上輸入 Locator

timeout

唯讀

number

方法

方法

修飾符

描述

click(this, options)

點擊已定位的元素。

clone()

複製 locator。

fill(this, value, options)

使用提供的值填寫 locator 所識別的輸入。輸入的類型會在執行時決定,並根據類型選擇適當的填寫方法。支援 contenteditable、select、textarea 和 input 元素。

filter(predicate)

建立一個針對已定位值進行評估的期望。

如果期望不符,locator 將會重試。

hover(this, options)

將滑鼠懸停在已定位的元素上。

map(mapper)

使用提供的 mapper 對 locator 進行映射。

race(locators)

static

在多個 locator 之間建立競爭,嘗試並行定位元素,但確保只有單一元素接收動作。

scroll(this, options)

捲動已定位的元素。

setEnsureElementIsInTheViewport(this, value)

建立新的 locator 實例,方法是複製目前的 locator,並指定如果元素尚未在視窗中,locator 是否應將元素捲動到視窗中。

setTimeout(timeout)

建立新的 locator 實例,方法是複製目前的 locator 並設定 locator 動作的總逾時時間。

傳遞 0 以停用逾時。

setVisibility(this, visibility)

建立新的 locator 實例,方法是複製目前的 locator,並將可見性屬性變更為指定的值。

setWaitForEnabled(this, value)

建立新的 locator 實例,方法是複製目前的 locator,並指定在執行動作之前是否要等待輸入元素變成啟用狀態。適用於 clickfill 動作。

setWaitForStableBoundingBox(this, value)

建立新的 locator 實例,方法是複製目前的 locator,並指定 locator 是否必須等待元素在兩個連續的動畫影格之間的邊界方塊相同。

wait(options)

等待 locator 從頁面取得序列化的值。

請注意,這需要值可進行 JSON 序列化。

waitHandle(options)

等待 locator 從頁面取得控制代碼。