使用 Ruby/Watir 检查复选框

Checking a checkbox using Ruby/Watir

我试图在每个星期五自动从 LinkedIn 提取一些数据请求,但我需要选中特定的复选框以仅请求相关数据。

在阅读了文档和多个帖子后,我似乎仍然无法解决这个问题。

具体的请求页面在 LinkedIn 的隐私页面下,您可以在其中请求下载您的所有数据。

这是复选框代码行:

browser.checkbox(id: 'file_group_INVITATIONS').set(true)

我也试过将它设置为 false,同样使用值而不是 id。

尝试设置复选框会出现错误:

Selenium::WebDriver::Error::UnknownError : unknown error: Element <input type="checkbox" name="requestedFiles[]" id="file_group_INVITATIONS" value="INVITATIONS"> is not clickable at point (420, 481). Other element would receive the click: <label for="file_group_INVITATIONS">...</label>

LinkedIn 想要设计他们的复选框样式,所以他们实际上在实际复选框元素的顶部放置了一个标签。作为用户,当您单击 "checkbox" 时,您实际上是在单击标签元素。这就是错误消息在谈到另一个元素收到点击时所指的内容。

您可以在 Watir 中执行相同的操作。标签与复选框正确关联,这使您可以简单地执行以下操作:

browser.checkbox(id: 'file_group_INVITATIONS').label.click

或更直接:

browser.label(:for => 'file_group_INVITATIONS').click