帮助通过xml路径选择节点输入

时间:2011-05-26 12:15:03

标签: xml xpath cucumber webrat

我有一个带有复选框的表单,每个复选框都有一个带有一些描述选择的文本的范围,用于isntance:

          <input name="people[]" value="953580619" type="checkbox">
          <span>Fake person 1</span>

我想选择具有以下范围的复选框,其中出现“假”字样。如何仅选择具有以下:: span并且其中包含单词Fake的复选框,而不选择其他复选框?

2 个答案:

答案 0 :(得分:1)

您应该使用标签:

<input id="person_953580619" name="people[]" value="953580619" type="checkbox">
<span><label for="person_953580619">Fake person 1</label></span>

然后你可以这样做:

page.check('Fake person 1')

答案 1 :(得分:1)

使用XPath(因为此问题有一个XPath标记)

//input[following::span[1][contains(., 'Fake')]]

这会选择<input>个元素,这些元素后面跟着包含字符串“Fake”的<span>。如果可能,请使用与文档结构匹配的步骤替换该XPath表达式中的//