我正在使用 selenium webdriver 来实现自动化。下面我有一个特例。
<div id = "A">
<div id = "container">
<div id="innercontainer">
<div>
<div id="ruleContainer">
<span id="rule">CNET</span>
<div id="name">CNET></div>
</div>
</div>
</div>
<a href = "#....."></a>
</div>
<div id = "A">
<div id = "container">
<div id="innercontainer">
<div>
<div id="ruleContainer">
<span id="rule">GNET</span>
<div id="name">GNET></div>
</div>
</div>
</div>
<a href = "#....."></a>
</div>`<div id = "A">
<div id = "container">
<div id="innercontainer">
<div>
<div id="ruleContainer">
<span id="rule">DNET</span>
<div id="name">DNET></div>
</div>
</div>
</div>
<a href = "#....."></a>
</div>`
在这里,我需要单击带有文本 CNET 的元素 A...我能够找到子 CNET,但它是一个死元素。因此,我需要单击具有该特定子元素的元素 A 的 anchor 。
我该怎么做?有办法吗?我知道循环的解决方案,但我的应用程序经常刷新,因此我遇到了陈旧的异常。那么有人可以给我一个更好的解决方案,比如导航回父级,然后导航到兄弟级并单击()。
最佳答案
试试这个 xpath:
//div[@id='A' and .//span[contains(text(), 'CNET')]]//a
它从 div
中搜索 id = 'A' 的 div
,它的 span
包含文本 'CNET'它选择 anchor-child-element
关于selenium - 以下场景如何使用子元素点击父元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33573386/