<a href="/google.com">
<div> ABC </div>
<span>
<button class="btn"> Show more </button>
<span/>
</a>
<div>
<div>ABC</div>
<span>
<button class="btn"> Show more </button>
<span/>
</div>
Как вы, ребята, видите, у нас есть 2 КНОПКИ, и мне нужно нажать на КНОПКУ, предок которой не является тегом <a/>
, потому что если я нажму кнопку, предком которой является тег, он перенаправит меня на другие страницы. Так что я не хочу такого поведения.
Очевидное решение - я могу использовать для этого абсолютный Xpath, но это не лучший способ, потому что HTML DOM или структура css могут быть изменены, поэтому они нестабильны.
Итак, как я могу отличить 2 кнопки, используя предка или что-то подобное? Я имею в виду другие способы лучше. Спасибо, ребята, что так мне помогли!
1 ответ
Чтобы выбрать button
, у которого нет предка тега a
, можно выполнить следующий XPath:
//button[not(ancestor::a) and(contains(.,'Show more'))]
Похожие вопросы
Новые вопросы
python
Python — это мультипарадигмальный многоцелевой язык программирования с динамической типизацией. Он предназначен для быстрого изучения, понимания и использования, а также обеспечивает чистый и унифицированный синтаксис. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Если у вас есть вопросы о версии Python, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas, NumPy) укажите это в тегах.
and
иcontains
не нужны. Это должно служить той же цели//button[not(ancestor::a) and contains(.,'Show more')]