从任意位置启动 Watir/Selenium Chrome 驱动程序二进制文件

sbs*_*sbs 4 selenium watir selenium-chromedriver

我想使用 Watir 为旧版本的 chrome 启动一个 chrome,例如 /Application/Google Chrome 30.app

这是一个参考链接,说 chromedriver 期望在特定位置安装 Chrome:

Mac /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome

这是在非标准位置设置 Chrome 可执行文件的参考链接

ChromeOptions options = new ChromeOptions();
options.setBinary("/path/to/other/chrome/binary");
Run Code Online (Sandbox Code Playgroud)

给定语法,我如何使用 Watir 做到这一点

driver = Watir::Browser.new :chrome
Run Code Online (Sandbox Code Playgroud)

谢谢!

Jus*_* Ko 5

为特定浏览器实例设置二进制

可以使用:desired_capabilities“chromeOptions”将 Chrome 选项从 Watir 传递到 Selenium :

caps = {"chromeOptions" => {"binary" => 'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'}}
browser = Watir::Browser.new(:chrome, desired_capabilities: caps)
Run Code Online (Sandbox Code Playgroud)

请注意该binary值(来自Chromedriver 页面):

要使用的 Chrome 可执行文件的路径(在 Mac OS X 上,这应该是实际的二进制文件,而不仅仅是应用程序。例如,“/Applications/Google Chrome.app/Contents/MacOS/Google Chrome”)

设置默认二进制

除了为每个浏览器设置二进制文件,您还可以设置默认的二进制文件位置:

Selenium::WebDriver::Chrome.path = 'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'
browser = Watir::Browser.new :chrome
Run Code Online (Sandbox Code Playgroud)