Как выбрать ссылку, которая содержит определенный текст на более глубоком уровне? Селен - вебдрайвер - PullRequest
0 голосов
/ 23 февраля 2020

У меня есть список, и мне нужно выбрать элемент из списка в соответствии с его текстом с помощью Selenium Webdriver. Но текст расположен на несколько уровней глубже от ссылки. Как я могу нажать на эту ссылку после того, как найду «Целевой текст»?

enter image description here

Я смог найти «Целевой текст» с кодом ниже .

var dir = driver.FindElement(By.XPath(String.Format("//*[contains(text(), '{0}')]", path.Directory)));

Но я думаю, что мне нужно нажать на ссылку. Как я могу go до тега "a" из "Target Text"?

Ответы [ 2 ]

0 голосов
/ 23 февраля 2020
var dir = driver.FindElement(By.XPath(String.Format("//*[contains(text(), '{0}')]/ancestor::a[1]", path.Directory)));
0 голосов
/ 23 февраля 2020

Вы можете использовать / .. в xpath 1 раз, чтобы достичь родительского якорного узла с помощью text . Попробуйте код ниже.

driver.FindElement(By.XPath("//div[contains(text(), 'Target Text')]/.."));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...