0
我正在使用水豚手动填写页面,但是我遇到了问题。水豚不能检测元素,即使它在页面上可见
当试图执行这条线(我想也设置可见为false):
find(:css, "[value='Laundry In Building']", visible: true).set(true)
它得到以下错误:
Unable to find css "[value='Laundry In Building']"
这是令人困惑,因为我看到在现场浏览器在测试运行时。此外,当我输出page.body
,我得到如下:
<div class="listing-edit-cb-item">
<input class="cb" id="building_features_3" name="features[]"value="Laundry In Building" type="checkbox" />
<label for="building_features_3">
<span class="cb"></span>
<span style="width: 200px; display: inline-block; font-size: 0.90em;">Laundry In Building</span>
</label>
</div>
为什么水豚没有表检测复选框元素?
感谢您的解释。我目前按照你的建议点击标签,但不明白为什么我的初始解决方案无法正常工作。真棒。 – Huy
@Huy您的初始解决方案无法正常工作,因为复选框的输入元素实际上并不在页面上可见,所以您无法直接与它交互(即使您可以使用'visible:false'查找元素等 - 水豚仍然不会让你与元素互动,因为用户不能)。可能会在span.cb中添加一个图像(它位于标签内部,因此点击该图标也会切换复选框)以模拟复选框,并使其在多个浏览器中看起来相同。 –