Поиск элемента на основе текста его соседних элементов в Selenium - PullRequest
0 голосов
/ 10 октября 2018

Так как заголовок подсказывает, что моя проблема в том, что мне нужно найти поле выбора на основе имени его соседей.Позвольте мне показать вам структуру.Это что-то вроде этого.Существует несколько элементов div, которые содержат изображение слева, заголовок и поле выбора.Поэтому мне нужно найти поле выбора внутри div, в котором заголовок, скажем, «Заголовок».Я не знал, что искать в Google, поэтому я хотел опубликовать это здесь.Заранее спасибо.

enter image description here

Ответы [ 2 ]

0 голосов
/ 10 октября 2018

Вы можете придерживаться этого подхода:

a.следующее -> Выбрать все входные данные после атрибута

//tagName[@attribute=’’]//following::tagName

b.следующий брат -> Выбрать элемент брата

//tagName[@attribute=’’]//following-sibling::tagName

c.ancestor -> Выбрать предка текущего элемента

//tagName[@attribute=’’]//ancestor::tagName

d.child -> выбрать дочерний элемент текущего элемента

//tagName[@attribute=’’]//child::tagName

e.Предшествующий -> Выбрать предшествующие элементы

//tagName[@attribute=’’]//preceding::tagName

f.Родитель -> Выбрать родителя текущего элемента

//tagName[@attribute=’’]//parent::tagName

Надеюсь, это вам поможет.

0 голосов
/ 10 октября 2018

Вы можете следовать следующему подходу:

Пусть контейнером продукта будет тег <div class="container"></div>, чьи дочерние элементы - Title и Select.Пусть title и select будут <div class="title">A Title</div> и <div type="submit"></div>

. Теперь вы можете написать общий динамический заголовок xpath и выбрать элементы, как показано ниже:

Xpath для элемента «Выбрать», еслиэлементы title и select не являются следующими или предшествующими одноуровневыми элементами друг другу:

//div[@type="submit" and parent::div[@class="container" and child::div[@class="title"]]]

Xpath для элемента 'Select', если элемент title предшествует элементу select элемента select:

//div[@type="submit" and preceding-sibling::div[@class="title"]]

Xpath для элемента «Выбрать», если элемент заголовка соответствует элементу выбора элемента:

//div[@type="submit" and following-sibling::div[@class="title"]]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...