伙计们,
我正在使用 watir-webdriver,我的 HTML DOM 中有一个片段,当我输入一些凭据时,它会即时生成,这个片段有一堆复选框,复选框的数量各不相同,我必须选择一个复选框,下面是一个这样的例子,在这里我想选择第二个复选框(对于隐藏的输入类型具有值“BS”但输入类型复选框的值对所有复选框都是相同的):
<li class="dir">
<input type="checkbox" value="1" onclick="$(this).next('.should_destroy').value = (this.checked?0:1)" name="should_not_destroy">
<input class="should_destroy" type="hidden" value="1" name="import[dir_attributes][][should_destroy]">
<input type="hidden" value="" name="import[dir_attributes][][id]">
<input type="hidden" value="Automation" name="import[dir_attributes][][path]">
<span class="dir_mode">Include</span>
Automation
</li>
<li class="dir">
<input type="checkbox" value="1" onclick="$(this).next('.should_destroy').value = (this.checked?0:1)" name="should_not_destroy">
<input class="should_destroy" type="hidden" value="1" name="import[dir_attributes][][should_destroy]">
<input type="hidden" value="" name="import[dir_attributes][][id]">
<input type="hidden" value="BS" name="import[dir_attributes][][path]">
<span class="dir_mode">Include</span>
BS
</li>
我也许可以用 XPATH 做到这一点,但想尝试非 XPATH 解决方案。隐藏的输入类型具有我需要的适当值,例如,在第二个复选框上方,输入类型隐藏的值为“BS”。我尝试使用这样的隐藏方法:
h = @@browser.hidden(:value, "BS")
h.select
但我不知道这之后该怎么办。我正在尝试根据隐藏元素的值选择复选框。非常感谢任何反馈。