Spec-Zone.ru › Playwright

Селекторы

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

Методы​

register​

Добавлено до версии 1.9

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

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

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

const { selectors, firefox } = require('@playwright/test');  // Or 'chromium' or 'webkit'.

(async () => {
  // Must be a function that evaluates to a selector engine instance.
  const createTagNameEngine = () => ({
    // 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));
    }
  });

  // Register the engine. Selectors will be prefixed with "tag=".
  await selectors.register('tag', createTagNameEngine);

  const browser = await firefox.launch();
  const page = await browser.newPage();
  await page.setContent(`<div><button>Click me</button></div>`);

  // Use the selector prefixed with its name.
  const button = page.locator('tag=button');
  // We can combine it with built-in locators.
  await page.locator('tag=div').getByText('Click me').click();
  // Can use it in any methods supporting selectors.
  const buttonCount = await page.locator('tag=button').count();

  await browser.close();
})();

Аргументы

  • name строка

    Имя, используемое в селекторах в качестве префикса, например, {name: 'foo'} включает foo=myselectorbody селекторы. Может содержать только [a-zA-Z0-9_] символы.

  • script функция | строка | объект

    • path строка (необязательно)

      Путь к файлу JavaScript. Если path является относительным путем, то он разрешается относительно текущей рабочей директории. Необязательно.

    • content строка (необязательно)

      Сырой код скрипта. Необязательно.

    Скрипт, который вычисляет экземпляр движка селектора. Скрипт оценивается в контексте страницы.

  • options объект (необязательно)

    • contentScript булево (необязательно)

      Определяет, следует ли запускать этот движок селектора в изолированной JavaScript-среде. Эта среда имеет доступ к тому же DOM, но не к каким-либо JavaScript-объектам из скриптов фрейма. По умолчанию false. Обратите внимание, что запуск в качестве скрипта контента не гарантируется, когда этот движок используется вместе с другими зарегистрированными движками.

Возвращает

  • Promise<пустое значение>

setTestIdAttribute​

Определяет пользовательское имя атрибута, которое будет использоваться в page.getByTestId(). По умолчанию используется data-testid.

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

selectors.setTestIdAttribute(attributeName);

Аргументы

  • attributeName строка

    Имя атрибута test id.

© 2024 Microsoft
Licensed under the Apache License, Version 2.0.
https://playwright.dev/docs/api/class-selectors

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API