xpath - 如何根据之前的文本选择复选框

时间:2012-12-06 16:27:44

标签: xpath

我的文字中写着“角色”。之后有两个复选框 我可以进入'角色' 我该如何进入并单击复选框?

我正在尝试使用:

xpath=(//label[contains(text(),'Roles')]/div/span/input)

但未找到。

我的HTML是:

<div class="control-group string required">
  <label class="string required control-label" for="survey_name">
  <abbr title="required">*</abbr> Name</label>
  <div class="controls">
    <input class="string required" id="survey_name" name="survey[name]" size="50" type="text" /></div>
  </div>
  <div class="control-group check_boxes required">
    <label class="check_boxes required control-label">
      <abbr title="required">*</abbr> Roles
    </label>
    <div class="controls">
      <span class="checkbox">
        <input class="check_boxes required" id="survey_role_ids_121" name="survey[role_ids][]" type="checkbox" value="121" />
      </span>
    </div>
  </div>
</div>

1 个答案:

答案 0 :(得分:1)

div不是标签的子级,是following-sibling。因此,您需要的XPath表达式是

//label[contains(., "Roles")]/following-sibling::div/span/input