【问题标题】:Ruby Watir Selenium WebDriver depricated warningRuby Watir Selenium WebDriver 被贬低的警告
【发布时间】:2019-10-20 02:06:17
【问题描述】:

我正在尝试让 Ruby Watir 脚本在新服务器上运行。
我在旧服务器上有一个工作脚本:

#!/bin/ruby
require 'rubygems'
require 'watir'
require 'date'
require 'headless'
require 'fileutils'
require 'uri'
require 'logger'

headless = Headless.new(autopick: true, reuse: false, destroy_at_exit: true).start
options = Selenium::WebDriver::Chrome::Options.new
options.add_preference(:download, prefs)
options.add_argument('--ignore-certificate-errors')
options.add_argument('--disable-popup-blocking')
options.add_argument('--disable-translate')

b = Watir::Browser.new(:chrome, options: options)
b.goto 'someurl.com'
b.div(:id => 'IFRAME1').iframe.body.div(:id => 'DIVID1').div(class: ['Test1', 'Test2']).link(:id => 'DIVID2').click #getting warning here

我收到的警告如下:

警告硒 [弃用] Selenium::WebDriver::Error::ElementNotVisibleError 已弃用。采用 Selenium::WebDriver::Error::ElementNotInteractableError(确保 driver 支持 W3C WebDriver 规范)。

当前服务器版本:

无头(2.3.1、2.2.0)

selenium-webdriver (3.4.4)

瓦提尔 (6.6.3)

新的服务器版本:

无头 (2.3.1)

selenium-webdriver (3.142.3, 3.142.0)

女 (6.16.5)

我感觉问题出在版本不匹配上,但我无法确定。

到目前为止,我无法找到任何解决方案。

【问题讨论】:

    标签: ruby selenium-webdriver watir


    【解决方案1】:

    TL/DR:

    做以下三件事中的一件

    1. 忽略它们,你没有做错任何事。
    2. 升级到 Chrome v75+
    3. 现在降级到 Selenium 3.141.0

    Selenium 过去是使用 JSON Wire Protocol 实现的,它详细说明了驱动程序端点和端点预期的有效负载的格式等。不幸的是,每个浏览器驱动程序实现都有自己有趣的边缘案例和特性,这使得跨浏览器测试更多具有挑战性的。 Selenium 开发人员和浏览器供应商一起就这些交互的 w3c 标准达成一致,以便一切都可以以适用于所有浏览器的方式完成。该标准于 2018 年作为w3c recommendation 发布。 Google 是最后一家默认开启 w3c 合规模式的浏览器供应商,this will happen in Chrome v75(今天发布)。

    Selenium 3.142 是 Selenium 4 之前的最后一个 Selenium 版本。Selenium 4 将完全取消对旧协议的支持。因此,Ruby Selenium 团队决定在代码中对在 Selenium 4 中不起作用的任何内容发出警告。由于 Chrome

    【讨论】:

    • 非常感谢您的精彩解释。
    • 我有点晚了,但这似乎不再有效。我将我的 Selenium gem 锁定在 3.141.0 并确认它是正在运行的版本。我在最新的 Chrome 上。我得到了与原始问题中报告的完全相同的一系列消息。
    • @JeffNyman 最新版本的 Selenium 现在应该可以正常工作了
    • @titusfortner 我正在使用selenium-webdriver 3.142.7(似乎是最新的),但我仍然收到那些弃用消息。但现在我想知道这是否是由于我正在使用的其他库之一。我正在使用webdrivers 4.2.0watir 6.16.5。除非“最新版本的 Selenium”是指移动到 4.x alpha 版本之一?
    • 不,我已经有一段时间没有机会看到 Watir 了。我去看看。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-16
    • 1970-01-01
    • 1970-01-01
    • 2018-04-01
    • 2021-11-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多