У меня есть следующие XPath:Что такое синтаксис xpath и содержит текст()?
By.xpath(".//div[contains(@class, 'foo123') and contains(text(), 'foo bar')]")
Я пытаюсь найти следующий HTML:
<div class="foo123">foo bar</div>
Является ли мой синтаксис неправильно?
Да, синтаксис верен. Если вы не получите ожидаемый результат, сообщите, какой результат вы получаете. – LarsH
Вы имели в виду '.' в начале? Это будет охватывать поиск текущим «родителем», то есть, а не весь документ, который он обычно будет представлять собой текущий элемент. – Arran
В основном я пытаюсь однозначно выбрать элемент. Если я опускаю содержащую текстовую часть и вместо этого делаю что-то вроде этого: driver.findElements (By.xpath (".// div [содержит (@class, 'foo123')]"). Size() возвращает элементов (в этом случае 1). Когда я пишу то же, но использую и содержит текст(), он вернет 0. –
Matt