gpt4 book ai didi

Ruby Watir Selenium WebDriver depricated 警告

转载 作者:数据小太阳 更新时间:2023-10-29 08:18:02 26 4
gpt4 key购买 nike

我正在尝试让 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

我收到的警告如下:

WARN Selenium [DEPRECATION] Selenium::WebDriver::Error::ElementNotVisibleError is deprecated. Use Selenium::WebDriver::Error::ElementNotInteractableError (ensure the driver supports W3C WebDriver specification) instead.

当前服务器版本:

headless (2.3.1, 2.2.0)

selenium-webdriver (3.4.4)

watir (6.6.3)

新服务器版本:

headless (2.3.1)

selenium-webdriver (3.142.3, 3.142.0)

watir (6.16.5)

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

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

最佳答案

长话短说:

做这三件事中的一个:

  1. 无视他们,你没有做错任何事。
  2. 升级到 Chrome v75+
  3. 暂时降级到 Selenium 3.141.0

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

Selenium 3.142 是 Selenium 4 之前的最后一个 Selenium 版本。Selenium 4 将完全取消对遗留协议(protocol)的支持。因此,Ruby Selenium 团队决定在代码中对任何在 Selenium 4 中不起作用的内容发出警告。因为 Chrome < 75 默认不符合 w3c,默认情况下它不会与 Selenium 4 一起工作,所以 Selenium 是发出警告。请注意,这是驱动程序响应导致的错误,因此无需更改代码即可避免这种情况。

关于Ruby Watir Selenium WebDriver depricated 警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56445641/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com