selenium - 以下场景如何使用子元素点击父元素

标签 selenium xpath selenium-webdriver automation

我正在使用 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/

相关文章:

r - 快速读取xml文件并转换为数据框

java - 如何使用 selenium-webdriver 和 Java 定位元素

java - 使用 Selenium 配置测试变得非常长

java - 如何使用 selenium webdriver 在 div 标签中找到 P 标签

php - 使用行中的 xpath 提取表格单元格文本内容以供使用?

java - 同一 xpath 值出现在网格的不同行上

python - 等待父标签是否可以确保使用 Selenium 完全加载子标签?

selenium - 如何验证复选框在选定和未选定的情况下 xpath 是否相同

python - 在 python 中使用 selenium 单击链接(<a> 标记,type=button)时出错

python - Chrome 59 支持 URL 中的基本身份验证凭据替代 Chromedriver 的使用?