Перейти к основному содержимому

Selectors

Селекторы могут быть использованы для установки пользовательских движков селекторов. Подробнее см. в разделе расширяемость.


Методы

RegisterAsync

Добавлено до v1.9 selectors.RegisterAsync

Селекторы должны быть зарегистрированы до создания страницы.

Использование

Пример регистрации движка селекторов, который запрашивает элементы на основе имени тега:

using Microsoft.Playwright;

using var playwright = await Playwright.CreateAsync();
// Скрипт, который оценивается в экземпляр движка селекторов. Скрипт выполняется в контексте страницы.
await playwright.Selectors.RegisterAsync("tag", new()
{
Script = @"{
// Возвращает первый элемент, соответствующий данному селектору в поддереве корня.
query(root, selector) {
return root.querySelector(selector);
},
// Возвращает все элементы, соответствующие данному селектору в поддереве корня.
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>");
// Используйте селектор с префиксом его имени.
var button = page.Locator("tag=button");
// Комбинируйте его с встроенными локаторами.
await page.Locator("tag=div").GetByText("Click me").ClickAsync();
// Можно использовать в любых методах, поддерживающих селекторы.
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#

    Имя атрибута тестового идентификатора.