如何使用子元素单击父元素以用于以下方案

DOS*_*upp 2 selenium xpath automation selenium-webdriver

我正在使用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>`
Run Code Online (Sandbox Code Playgroud)

在这里,我需要点击带有文本CNET的元素A ...我能够找到孩子CNET,但它是一个死元素.所以我需要点击具有该特定孩子的元素A的锚点.

我怎样才能做到这一点?有办法吗?我知道循环的解决方案,但我的应用程序经常刷新,因为它,我遇到了陈旧的异常.那么有些人可以给我一个更好的解决方案,比如导航回父母,然后回到兄弟姐妹并点击().

drk*_*hng 6

试试这个xpath:

//div[@id='A' and .//span[contains(text(), 'CNET')]]//a
Run Code Online (Sandbox Code Playgroud)

它搜索div具有span包含文本'CNET'的id ='A ',从中div选择anchor-child-element