Невозможно получить веб-элемент с помощью коллекции xpath (Workfusion)

В Workfusion я повторяю все элементы на HTML-странице, которые должны быть найдены с помощью xpath:

// * [начинается с (@ id, FormView1_hidRevElement)] [$ {i}]

Когда $ {i} = 1, я получаю то, что ожидалось, но не когда $ {i} ›1.

На HTML-странице у меня есть такие элементы, как:

id = FormView1_hidRevElement12636

id = FormView1_hidRevElement12637

id = FormView1_hidRevElement12642

и т.д,

Выведена ошибка: ...

  Caused by: org.openqa.selenium.NoSuchElementException: Unable to locate element: //*[starts-with(@id,"FormView1_hidRevElement")][2]

...

Что не так?


person Feliks    schedule 22.01.2019    source источник


Ответы (1)


Созданный вами XPath неверен, потому что

// * [начинается с (@id, "FormView1_hidRevElement")]

вернет количество совпадений как 3 для идентификатора ниже

id = "FormView1_hidRevElement12636"

id = "FormView1_hidRevElement12637"

id = "FormView1_hidRevElement12642"

И каждое совпадение идентификатора равно 1, тогда очевидно, что ›1 условие вызовет ошибку, потому что его не существует.

Попробуйте этот XPath:

(// * [начинается с (@id, "FormView1_hidRevElement")]) [$ {i}]

person Ali CSE    schedule 22.01.2019
comment
@Feliks щелкните этот флажок рядом с ответом, чтобы еще больше оценить помощь Али;) (stackoverflow.com/help/someone-answers ) - person Andrey; 23.01.2019