【问题标题】:XPATH Testing string value of child and parent has empty string valueXPATH 测试子和父的字符串值有空字符串值
【发布时间】:2020-06-10 21:26:20
【问题描述】:

我有在 Selenium 测试中搜索的 html,我想通过它的文本找到子 只有当父没有文本时

这是 HTML:

    <ul>
     <li>
      <div>
      "4"
       <span>630</span>
      </div>
    </li>
    <li>
     <div>

       <span>630</span>
     </div>
    </li>
    <li>
     <div>
     "6"
      <span>630</span>
     </div>
    </li>
   </ul>

使用“//span[.='630']”或“//span[text()='630']”选择文本字符串“630”会产生三个结果,但我只想要中间那个与一个空的父母。我尝试了很多不起作用的构造 "//span[.='630' and parent::div[.='']]""//span[text()='630' and parent::div[text='']]" 甚至 "//div[text()='']/*[1] | //span[text()='630']" 但这些都导致 3 个结果或没有。

请注意,当"//span[text()='630'] and .//div[contains(text(),'')]" 检测到文本时,它会返回true,我需要它来返回元素以便我可以点击它。

【问题讨论】:

    标签: selenium xpath custom-selectors


    【解决方案1】:
    //span[text()='630']/parent::div[not(text())]
    

    试试这个。

    【讨论】:

      【解决方案2】:

      这对我有用:

      //div[@innertext='']/span[text()='630']
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-04-08
        • 2011-07-25
        • 1970-01-01
        • 2010-11-12
        • 1970-01-01
        • 2017-12-29
        • 2011-11-21
        相关资源
        最近更新 更多