Text 如何选择水豚中带有相邻文本的单选按钮?

Text 如何选择水豚中带有相邻文本的单选按钮?,text,radio-button,capybara,Text,Radio Button,Capybara,水豚选择方法适用于单选按钮,单选按钮旁边有标签标签和所需文本,如下所示: <input id="rGEQr-real" type="radio" name="_pgcr6g7j"/> <label id="rGEQr-cnt" class="z-radio-content" for="rGEQr-real">Web IDE Support</label> 如果没有标签标签,简单的choose单选按钮无法设置单选按钮 我们如何在水豚中实现这一点???如果您需要

水豚选择方法适用于单选按钮,单选按钮旁边有标签标签和所需文本,如下所示:

<input id="rGEQr-real" type="radio" name="_pgcr6g7j"/>
<label id="rGEQr-cnt" class="z-radio-content" for="rGEQr-real">Web IDE Support</label>
如果没有标签标签,简单的
choose
单选按钮无法设置单选按钮


我们如何在水豚中实现这一点???

如果您需要通过名称、id或标签文本以外的任何内容选择单选按钮,您需要:

  • 查找单选按钮,通常使用
    Find
    和CSS或XPath
  • 调用
    set
    方法
  • 在这种情况下,您将需要使用XPath,因为CSS选择器不支持按文本定位。XPath需要检查以下同级文本节点是否为指定的文本。这可以通过以下方式实现:

    # Select MALE
    page.find(:xpath, '//input[following-sibling::text()[1][normalize-space(.) = "MALE"]]').set(true)
    
    # Select FEMALE
    page.find(:xpath, '//input[following-sibling::text()[1][normalize-space(.) = "FEMALE"]]').set(true)
    
    # Select MALE
    page.find(:xpath, '//input[following-sibling::text()[1][normalize-space(.) = "MALE"]]').set(true)
    
    # Select FEMALE
    page.find(:xpath, '//input[following-sibling::text()[1][normalize-space(.) = "FEMALE"]]').set(true)