Selectors
Селекторы могут быть использованы для установки пользовательских движков селекторов. Подробнее см. в разделе расширяемость.
Методы
RegisterAsync
Добавлено до v1.9Селекторы должны быть зарегистрированы до создания страницы.
Использование
Пример регистрации движка селекторов, который запрашивает элементы на основе имени тега:
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: 'foo'}
позволяет использовать селекторыfoo=myselectorbody
. Может содержать только символы[a-zA-Z0-9_]
. -
options
SelectorsRegisterOptions?
(опционально)-
ContentScript
bool? (опционально)#Указывает, следует ли запускать этот движок селекторов в изолированной среде JavaScript. Эта среда имеет доступ к тому же DOM, но не к каким-либо объектам JavaScript из скриптов фрейма. По умолчанию
false
. Обратите внимание, что запуск в качестве контент-скрипта не гарантируется, если этот движок используется вместе с другими зарегистрированными движками. -
Скрипт, который оценивается в экземпляр движка селекторов. Скрипт выполняется в контексте страницы.
-
Скрипт, который оценивается в экземпляр движка селекторов. Скрипт выполняется в контексте страницы.
-
Возвращает
SetTestIdAttribute
Добавлено в: v1.27Определяет имя пользовательского атрибута, которое будет использоваться в Page.GetByTestId(). По умолчанию используется data-testid
.
Использование
Selectors.SetTestIdAttribute(attributeName);
Аргументы