Accessibility
Класс Accessibility предоставляет методы для инспектирования дерева доступности Chromium. Дерево доступности используется вспомогательными технологиями, такими как скринридеры или переключатели.
Доступность — это очень специфичная для платформы вещь. На разных платформах существуют различные скринридеры, которые могут давать совершенно разные результаты.
Рендеринг-движки Chromium, Firefox и WebKit имеют концепцию "дерева доступности", которое затем переводится в различные платформенно-специфичные API. Пространство имен Accessibility предоставляет доступ к этому дереву доступности.
Большая часть дерева доступности отфильтровывается при преобразовании из внутреннего AX-дерева браузера в платформенно-специфичное AX-дерево или самими вспомогательными технологиями. По умолчанию Playwright пытается приблизительно воспроизвести эту фильтрацию, показывая только "интересные" узлы дерева.
Устарело
SnapshotAsync
Добавлено до версии v1.9Фиксирует текущее состояние дерева доступности. Возвращаемый объект представляет корневой доступный узел страницы.
Дерево доступности Chromium содержит узлы, которые не используются на большинстве платформ и большинством скринридеров. Playwright также отбрасывает их для упрощения обработки дерева, если только InterestingOnly не установлен в false
.
Использование
Пример вывода всего дерева доступности:
var accessibilitySnapshot = await page.Accessibility.SnapshotAsync();
Console.WriteLine(System.Text.Json.JsonSerializer.Serialize(accessibilitySnapshot));
Пример логирования имени сфокусированного узла:
var accessibilitySnapshot = await page.Accessibility.SnapshotAsync();
Console.WriteLine(System.Text.Json.JsonSerializer.Serialize(accessibilitySnapshot));
Аргументы
options
AccessibilitySnapshotOptions?
(опционально)-
InterestingOnly
bool? (опционально)#Обрезать неинтересные узлы из дерева. По умолчанию
true
. -
Root
ElementHandle? (опционально)#Корневой DOM элемент для снимка. По умолчанию вся страница.
-
Возвращает