Поиск элемента в Selenium с помощью XPath - PullRequest
2 голосов
/ 24 мая 2019

В чем разница между ".//", "//","./" и "/" в XPath при поиске элемента в Selenium? Описывать.

Ответы [ 3 ]

3 голосов
/ 24 мая 2019

Определения XPath:

.// - Find something that is a descendant of the current node
//  - Find something that is anywhere in the DOM
./  - Find a child node of the current node
/   - Find a child of the root of the document

Однако в Selenium .// и // не следуют спецификациям XPath и означают то же самое, что в данном случае - найти что-нибудь в DOM.

* Редактировать *

Поскольку это кажется несколько спорным, вот некоторая дополнительная информация.

Selenium использует злой хороший XPath в своих атомах JavaScript (см. Селеновая кодовая база ).

Злой хороший XPath, хотя и быстрый, не является полностью совместимой реализацией XPath и не реализует // корректно во всех случаях, поэтому в приведенном выше утверждении вы должны рассматривать и .//, и // как оператор для поискачто-нибудь в DOM (см. эту злую добрую проблему XPath )

1 голос
/ 24 мая 2019

Значение точки (.) В xpath:

  • Single Dot (.) - указывает на текущий элемент.
  • Double Dot (..) - Он указывает на родительский элемент.

Значение '/' одинарный слеш и '//' двойной слеш:

  • Одиночный слэш '/ '- Поиск дочернего элемента.
  • Двойная косая черта' // ': Поиск дочернего элемента, а также дочернего элемента.Короче говоря, он работает как потомок.
  • '//' это макрос, его расширение: / origin / or-self :: node () /

Ответ на вопрос:

  • // - Поиск нисходящего или собственного узла в DOM
  • . // - Поиск нисходящего или собственного узла с соответствующим текущему узлу

  • / - Поиск дочернего узла

  • . / - Поиск дочернего узла с соответствующим текущему узлу

За дополнительной информацией обращайтесь: https://www.linkedin.com/pulse/basics-xpath-pritam-maske/

1 голос
/ 24 мая 2019
  1. .// - относительный выбор всех узлов, соответствующих выражению
  2. // - абсолютный выбор всех узлов, соответствующих выражению
  3. ./ - недопустимое выражение XPath
  4. / - выбирает корневой узел документа

Дополнительная информация:

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