Как написать выражение относительного пути (XPath), чтобы извлечь данные карты из следующего снимка экрана? - PullRequest
0 голосов
/ 06 февраля 2019

Это изображение из Google Chrome

Привет всем,

Я пытаюсь написать относительное выражение (XPath), чтобы получить данные карты из следующихвеб-сайт

https://www.fakenamegenerator.com/gen-random-us-us.php

Я вижу, что имя карты чередуется между VISA и MasterCard,

Я хотел знать, возможно ли следующее выражение

" // dl [dt / text () = 'MasterCard'] / dd ИЛИ // dl [dt / text () = 'Visa'] / dd "

Могу ли яиспользовать оператор ИЛИ, чтобы сделать выражение универсальным, чтобы оно работало в обоих случаях: VISA или Master Card?

К вашему сведению, это проект Automation Anywhere, где я практикуюсь для повышения своих навыков в WEB Automations

1 Ответ

0 голосов
/ 06 февраля 2019

Вы были близки, но вы не можете использовать оператор or таким образом.Он используется, когда вы хотите иметь несколько условий предиката.Если вы хотите иметь несколько возможных результатов узлов (как в вашем примере), вы должны использовать конвейер | оператор

  1. //dl[dt/text()='MasterCard']/dd | //dl[dt/text()='Visa']/dd
  2. //dl[dt/text()='MasterCard' or dt/text()='Visa']/dd
  3. //dl[dt[text()='MasterCard' or text()='Visa']]/dd

Первый вариант говорит:
Получите мне элемент dd, который является прямым потомком элемента dl с элементом dt с текстом 'MasterCard '
ИЛИ
элемент dd, который является прямым потомком элемента dl с элементом dt с текстом' Visa '.

второй вариант говорит:
Получите мне элемент dd, который является прямым потомком элемента dl с элементом dt с текстом 'MasterCard' ИЛИ 'Visa'.

Третий вариант - лишь немного более компактная версия второго.

Так что, хотя оба варианта будут давать одинаковые результаты (в данном случае), производительность может сильно отличаться.Использование оператора pipe в основном означает, что вы выполняете несколько поисков, а не один сложный.

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