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

Selectors

セレクターは、カスタムセレクターエンジンをインストールするために使用できます。詳しくは、拡張性をご覧ください。


メソッド

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属性名。