WebdriverIO и JavaScript для идентификаторов доступности

Если у меня есть два текстовых поля, имя и фамилия, и установите для них идентификатор доступности; поля оба назначены "nameID" в виде массива [@name="nameID"])[1] а также [@name="nameID"])[2].

Я пытался сделать

$('~nameID[1]); 

а также

$('~[@name="nameID"])[1]');

без результатов. Как мне получить доступ к этим идентификаторам по имени?

Благодарю.

1 ответ

Решение

Понимание вашего вопроса:

Допустим, так выглядит ваш HTML-фрагмент:

First Name <input type="text" name="textName">
Last Name <input type="text" name="textName">

Оба текстовых поля выше имеют одинаковое значение для атрибута name,

Вот как вы можете получить к ним доступ:

let textFields = $$('[name="textName"]');

// Access the First Name
textFields[0]

// Access the Last Name
textFields[1]

Замечания:

  • Больше о селекторах вместе с атрибутом имени можно найти в WebdriverIO API здесь
  • Решение, приведенное выше, является очень простым, и фрагмент HTML никогда не будет таким простым, и у вас будет много вариантов доступа к ним.
  • Если у вас есть более 2 форм на вашей странице и имеет много input type texts тогда однозначно решение выше не подойдет для использования.
Другие вопросы по тегам