【发布时间】:2014-11-05 23:01:00
【问题描述】:
最近,我遇到了一个单选按钮,它似乎嵌套得太深,以至于 Capybara 根本无法与之交互。
HTML 示例:
<div …>
<div …>
<div …>
<ul …>
<li …>
<label …>
<div …>
<input id=”radio1” name=”Section1.Radio1” type=”radio”></input>
<label …> </label>
</div>
</label>
</li>
</ul>
</div>
</div>
</div>
在点击标签之前我已经省略了大约 10 个以上的深度级别。
我的尝试
我尝试了 capybara 查找器的组合,包括:choose、click_on、find、find_first;所有这些都具有各种 xpath 和 css 组合。这些都会导致一般错误“找不到元素”。我使用的 xpaths 和 css 在 Chrome 和 FF 开发人员工具中进行了测试,没有任何问题。 我得到的唯一突破是使用“所有”查找器。
all(:css, #id_name).first
当我添加“点击”时,这似乎导致找到对象:
all(:css, #id_name).first.click
我在 Capybara 中收到错误 'undefined method `click' for nil:NilClass (NoMethodError)'
也许我应该换个方向。有人有什么想法吗?
【问题讨论】:
-
我的回答对@Mace 有帮助吗?
标签: html css xpath radio-button capybara