Как найти элемент с помощью Or в локаторе?

У меня есть 2 очень похожих элемента на разных страницах, которые мне нужно протестировать:

<input name = "myName">
<input name = "name">

В своем коде я пытался найти элемент ввода, используя ключевое слово Or (||), но это не сработало.

Можно ли это сделать без xpath, только с помощью выражения CSS?

this._nameInput = page.locator(
    'input[name = "name"]' || 'input[name* = "Name"]'
)

Этот вопрос похож на: Как я могу использовать page.waitForSelector в Playwright для одного из двух селекторов?. Если вы считаете, что это другое, отредактируйте вопрос, поясните, чем он отличается и/или как ответы на этот вопрос не помогают решить вашу проблему.

ggorlen 01.07.2024 16:53

Посмотрите это — stackoverflow.com/a/77288539/1831456

Vishal Aggarwal 02.07.2024 05:50
Зод: сила проверки и преобразования данных
Зод: сила проверки и преобразования данных
Сегодня я хочу познакомить вас с библиотекой Zod и раскрыть некоторые ее особенности, например, возможности валидации и трансформации данных, а также...
Как заставить Remix работать с Mantine и Cloudflare Pages/Workers
Как заставить Remix работать с Mantine и Cloudflare Pages/Workers
Мне нравится библиотека Mantine Component , но заставить ее работать без проблем с Remix бывает непросто.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
TypeScript против JavaScript
TypeScript против JavaScript
TypeScript vs JavaScript - в чем различия и какой из них выбрать?
Синхронизация localStorage в масштабах всего приложения с помощью пользовательского реактивного хука useLocalStorage
Синхронизация localStorage в масштабах всего приложения с помощью пользовательского реактивного хука useLocalStorage
Не все нужно хранить на стороне сервера. Иногда все, что вам нужно, это постоянное хранилище на стороне клиента для хранения уникальных для клиента...
Что такое ленивая загрузка в Angular и как ее применять
Что такое ленивая загрузка в Angular и как ее применять
Ленивая загрузка - это техника, используемая в Angular для повышения производительности приложения путем загрузки модулей только тогда, когда они...
2
2
51
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вы можете использовать метод или:

lowercase = page.locator('input[name = "name"]')
wildcard = page.locator('input[name* = "Name"]');
this._nameInput = lowercase.or(wildcard);

Только в CSS можно было бы использовать разделитель-запятую:

this._nameInput = page.locator('input[name = "name"],input[name* = "Name"]')

Другие вопросы по теме

Похожие вопросы