【问题标题】:Checking a checkbox using Ruby/Watir使用 Ruby/Watir 检查复选框
【发布时间】:2018-08-01 23:41:14
【问题描述】:

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

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

特定请求页面位于领英的隐私页面下,您可以在其中请求下载您的所有数据。

这里是复选框代码行:

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

我也尝试将其设置为 false,也使用值而不是 id。

【问题讨论】:

    标签: ruby selenium watir


    【解决方案1】:

    尝试设置复选框会报错:

    Selenium::WebDriver::Error::UnknownError:未知错误:元素 不可点击 点 (420, 481)。其他元素会收到点击:

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

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

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

    或者更直接:

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

    【讨论】:

    • 这更有意义。谢谢你的帮助,贾斯汀!
    • 嗨,即使在 Firefox 最近对此ElementClickInterceptedError 给出了例外之后,WATIR 也没有解决这个错误我知道有一些像 OP 给出的永久覆盖不会在一段时间内消失,但是并非所有人都如此,其中一些被快速删除并且元素变得可点击。所以WATIR必须拯救这个案例,如果它是永久覆盖,让它在默认超时失败,否则让它继续没有任何问题,你说贾斯汀怎么样?
    • @Rajagopalan 是github.com/watir/watir/issues/532 中报告的问题吗?
    • 没错,我就是这么说的。
    猜你喜欢
    • 1970-01-01
    • 2018-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-12
    • 2010-10-30
    相关资源
    最近更新 更多