XPath получить элемент с текстом в дочернем элементе - PullRequest
0 голосов
/ 07 марта 2019

Я бы хотел сопоставить элемент <button> с определенным текстом, который иногда закрывается в другом элементе внутри кнопки, например ::

<div @class="buttonset"> 
  <button>Close</button>
</div>

<div @class="buttonset"> 
  <button>
    <span>Close</span>
  </button>
</div>

Запрос xpath //div[@class='modal-buttonset']/button[text()='Cancel'] дает мне толькорезультат с самого высокого уровня.

Как сопоставить текст на всех уровнях?

Ответы [ 2 ]

1 голос
/ 07 марта 2019

В этом XPath

//button[normalize-space() = 'Close']

будут выбраны все элементы button, для которых строковое нормализованное значение строки равно 'Close', независимо от каких-либо дополнительных элементов-оболочек, как требуется.

1 голос
/ 07 марта 2019

Попробуйте следующее:

//div/button[descendant::text()="Close"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...