COUNT(*)>在xpath构建中的表达式

时间:2014-03-07 09:15:25

标签: selenium xpath selenium-webdriver

在阅读在线博客时,我遇到了以下xpath,

xpath=//body/div[3]/form/fieldset/select[count(*)>1] 

和UI HTML看起来像 Select UI

xpath输出是什么?作者是否尝试检查选择选项是否多于一个? (布尔答案)

1 个答案:

答案 0 :(得分:3)

此查询将返回具有多个选项的所有<select/>元素以供选择。如果是,则谓词为真,并且包含<select/>元素,否则不包括。

实际上这不是完全正确,因为它无法识别<option/>中的<optgroup/>

<select>
  <optgroup>
    <option>foo</option>
    <option>bar</option>
    <option>batz</option>
  </optgroup>
</select>

它肯定有多个选项,但仍然只有一个直接子节点。一个更好的解决方案可能是使用(我在开头切断了路径)。

//select[count(.//*)>1]