簡體   English   中英

在Mac上使用Ruby Watir和Chrome 76及更高版本打開分離的Chrome

[英]Opening Chrome detached using Ruby Watir with Chrome 76 and newer on Mac

我有幾個驅動Chrome瀏覽器的ruby腳本。 我正在使用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實例的任何輸入。

PS我當前的解決方法:我在每個腳本的末尾添加了20分鍾的睡眠時間...

您提供的功能表明在desiredCapabilities部分(舊的JSON Wire Protocol)中已正確添加了detach,但在新capabilities部分(新的w3c Webdriver標准協議)中未正確添加了分離。 Chrome切換到v75后,默認情況下會打開w3c模式。 幾乎可以肯定,這適用於Chrome 74,不適用於Chrome 75或76。

該問題是Watir嘗試(以不正確的方式)補償長期存在的Selenium問題的結果。 一旦我們就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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM