在 Mac 上使用 Ruby Watir 和 Chrome 76 及更高版本打开 Chrome 分离



我有几个 ruby 脚本可以驱动 Chrome 浏览器。我正在使用此代码使用 Chrome 75

...
caps = Selenium::WebDriver::Remote::Capabilities.chrome
caps[:chrome_options] = {detach: true}
browser = Watir::Browser.new :chrome, desired_capabilities: caps

工作正常,即即使脚本完成,Chrome浏览器也会自行分离。

由于 Chrome 将自身更新到版本 76.0.3809.100,这不再有效,因此对于我的所有脚本,Chrome 都会在分离不再工作时立即打开和关闭。

我也试过这个

browser = Watir::Browser.new :chrome, :chrome_options => {:detach => true }

但这也行不通。

我正在使用Watir 6.16.5,ChromeDriver 76.0.3809.68和Selenium-webdrive 3.142.3

我很欣赏任何输入如何启动使用此设置使用 Watir 分离的 Chrome 实例。

附言我目前的解决方法:我在每个脚本结束时添加了 20 分钟的睡眠时间......

您提供的功能指示分离在desiredCapabilities部分(旧的 JSON 线路协议(中正确添加,但未在新的capabilities部分(新的 w3c Web 驱动程序标准协议(中添加。当Chrome切换到v75时,它默认打开w3c模式。这几乎可以肯定适用于Chrome 74,不适用于Chrome 75或76。

这个问题是瓦蒂尔试图(以不正确的方式(弥补长期存在的硒问题的结果。一旦我们同意Selenium在4.0(https://github.com/SeleniumHQ/selenium/pull/7378(中需要是什么样子,那么我将有时间修复Watir,以便事情按照您期望的方式工作。

我不喜欢这就是你现在必须做的事情,但我刚刚验证了这有效:

options = Selenium::WebDriver::Chrome::Options.new
options.add_option(:detach, true)
browser = Watir::Browser.new :chrome, :options => options

相关内容

  • 没有找到相关文章

最新更新