メインコンテンツにスキップ

Selectors

セレクターは、カスタムセレクターエンジンをインストールするために使用できます。詳細については、extensibility(拡張性)を参照してください。


メソッド

RegisterAsync

v1.9より前に追加 selectors.RegisterAsync

セレクターは、ページを作成する前に登録する必要があります。

使用例

タグ名に基づいて要素をクエリするセレクターエンジンの登録例

using Microsoft.Playwright;

using var playwright = await Playwright.CreateAsync();
// Script that evaluates to a selector engine instance. The script is evaluated in the page context.
await playwright.Selectors.RegisterAsync("tag", new()
{
Script = @"{
// Returns the first element matching given selector in the root's subtree.
query(root, selector) {
return root.querySelector(selector);
},
// Returns all elements matching given selector in the root's subtree.
queryAll(root, selector) {
return Array.from(root.querySelectorAll(selector));
}
}"
});

await using var browser = await playwright.Chromium.LaunchAsync();
var page = await browser.NewPageAsync();
await page.SetContentAsync("<div><button>Click me</button></div>");
// Use the selector prefixed with its name.
var button = page.Locator("tag=button");
// Combine it with built-in locators.
await page.Locator("tag=div").GetByText("Click me").ClickAsync();
// Can use it in any methods supporting selectors.
int buttonCount = await page.Locator("tag=button").CountAsync();

引数

  • name string#

    セレクターでプレフィックスとして使用される名前。例:{name: 'foo'}foo=myselectorbody セレクターを有効にします。[a-zA-Z0-9_] の文字のみを含めることができます。

  • options SelectorsRegisterOptions? (オプション)

    • ContentScript bool? (オプション)#

      このセレクターエンジンを分離されたJavaScript環境で実行するかどうか。この環境は同じDOMにアクセスできますが、フレームのスクリプトからのJavaScriptオブジェクトにはアクセスできません。デフォルトは false です。このエンジンが他の登録済みエンジンと一緒に使用される場合、コンテンツスクリプトとして実行されることは保証されないことに注意してください。

    • Path string? (オプション)#

      セレクターエンジンインスタンスに評価されるスクリプト。スクリプトはページコンテキストで評価されます。

    • Script string? (オプション)#

      セレクターエンジンインスタンスに評価されるスクリプト。スクリプトはページコンテキストで評価されます。

戻り値


SetTestIdAttribute

v1.27で追加 selectors.SetTestIdAttribute

Page.GetByTestId() で使用されるカスタム属性名を定義します。デフォルトでは data-testid が使用されます。

使用例

Selectors.SetTestIdAttribute(attributeName);

引数

  • attributeName string#

    テストID属性名。