如何根据 Selenium (PYTHON) 中的 parent/ancestor 元素区分 2 个按钮?
How to distinguish 2 button base on their parent/ancestor element in Selenium (PYTHON)?
<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个按钮,使用祖先或相关的东西?我的意思是其他更好的方法。
谢谢你们对我的帮助!
到 select 没有 a
标记祖先的 button
可以使用以下 XPath 完成:
//button[not(ancestor::a) and(contains(.,'Show more'))]
<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个按钮,使用祖先或相关的东西?我的意思是其他更好的方法。 谢谢你们对我的帮助!
到 select 没有 a
标记祖先的 button
可以使用以下 XPath 完成:
//button[not(ancestor::a) and(contains(.,'Show more'))]