XPath: передать значение атрибута по пути - PullRequest
0 голосов
/ 18 июня 2020

Мне интересно, возможно ли ниже с использованием xpath

Дано:

 <label for="pt1:sc">Select Country</label>
 <select id="pt1:sc">....</select>

Требование:

Я хочу найти элемент выбора, используя одно выражение xpath, как показано ниже, Идентификаторы bcs являются динамическими c и всегда доступны в атрибуте 'for'.

// label [text () = 'Select Country'] / @ for // * [@ id=@for]

Можем ли мы передать значение атрибута (здесь для атрибута метки) в xpath, далее по пути, чтобы найти элемент.

Пожалуйста, не предлагайте альтернативу с использованием siblings, child, id или selenium get-attribute et c.

Спасибо,

Ответы [ 2 ]

1 голос
/ 18 июня 2020

Вы можете использовать что-то вроде этого, чтобы выбрать элемент со значением атрибута, которое относится к другому атрибуту, расположенному в другом элементе:

//*[@id=//label[text()='Select Country']/@for]
0 голосов
/ 18 июня 2020

Я не уверен, как это будет работать с вашим фактическим html, но это работает в примере из вопроса:

//label[text()='Select Country'][@for=//select/@id]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...