我无法通过设置复选框进行测试。尝试了在谷歌上找到的各种提示,但似乎没有任何效果。
复选框的来源是
<div class="ish-field buttons-conditions">
<div class="accept-conditions">
<input tabindex="30"
type="checkbox"
class="ish-input-regular-news"
id="RegisterUserFullEmail_Accepted-1"
value="true"
name="RegisterUserFullEmail_Accepted"
该复选框显示在页面上。
我希望能够做到:check("RegisterUserFullEmail_Accepted-1")
,但这不起作用。
有什么建议吗?
答案 0 :(得分:1)
在您尝试驱动https://www.plus.nl/registreren的页面上,实际上隐藏了css display:none,然后使用css :: before伪元素插入已选中或未选中的图像框(可能使复选框在所有浏览器中看起来一致)。因此,您无需选中复选框,而是可以单击复选框的标签。在这种情况下,以下任何一种都应该这样做
find(:css, 'label', text: 'Ik accepteer de accountvoorwaarden').click
find(:css, 'label[for="RegisterUserFullEmail_Accepted-1"]').click
因为在这种情况下,标签内部有一个链接,它看起来位于链接的中间(点击它的位置)我们可以查看标签中的其他内容,并且其中有一个单独的span元素我们可以点击而不点击链接
find(:css, 'label', text: 'Ik accepteer de accountvoorwaarden').find(:css, 'span').click
find(:css, 'label[for="RegisterUserFullEmail_Accepted-1"] span').click