#java #selenium #testing #ancestor
Вопрос:
Я пытаюсь найти запрос XPath, чтобы получить предка моего элемента, который является a div
с a class='row publication-detail teaser'
.
В настоящее время я делаю следующее :
element.findElements(By.xpath("//ancestor::div[@class='row publication-detail teaser']"));
Проблема в том, что он возвращает всех братьев и сестер div[@class='row publication-detail teaser']
. И мне нужен только тот, кто является моим предком стихий.
Что я делаю не так?
Комментарии:
1. Я думаю, я нашел первую проблему: я должен был начать с
./
относительного пути, я думаю, что он начинает искать везде, когда вы начинаете//
. Это не решило мою проблему полностью. Для тех, кто может быть замешан в теме — я нашел классную шпаргалку: devhints.io/xpath
Ответ №1:
Вы почти правы, но findElements
вместо этого дадите вам список элементов, которые вы используете findElement
попробуйте заменить свой код следующим образом :
element.findElement(By.xpath("your web element here from where you want to go to ancestor, then use ancestor like this //ancestor::div[@class='row publication-detail teaser']"));