从任意位置启动 Watir/Selenium Chrome 驱动程序二进制文件
Launch Watir/Selenium Chrome driver binary from an arbitrary location
我想使用 Watir 为旧版本的 chrome 启动 chrome,比如 /Application/Google Chrome 30.app
这里有一个参考 link 说 chrome 驱动程序期望 Chrome 安装在特定位置:
Mac /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome
这是在非标准位置设置 Chrome 可执行文件的参考 link
ChromeOptions options = new ChromeOptions();
options.setBinary("/path/to/other/chrome/binary");
我如何使用 Watir 做到这一点,给定语法
driver = Watir::Browser.new :chrome
谢谢!
为特定浏览器实例设置二进制文件
可以使用 :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)
关于 binary
值的注释(来自 Chromedriver page):
Path to the Chrome executable to use (on Mac OS X, this should be the
actual binary, not just the app. e.g., '/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
我的建议是完全不使用 WatiR,而是使用“Selenium bindings”。无论如何,我认为语法更容易理解。就使用 ChromeOptions 二进制位置参数而言,我会更好地信任 Selenium 绑定。
直接更新您的 Selenium driver_path
。
只需在启动新的 Chrome 浏览器之前调用它 window:
Selenium::WebDriver::Chrome::Service.driver_path = "/path/to/other/chrome/binary"
当然,将路径更改为您的 chromedriver
所在的位置。对我们来说,我们使用 Rails.root.join( "lib", "chromedriver" ).to_s
因为它对项目来说是动态的,我们可以将其签入回购协议,它只适用于我们所有的工程师。
注意:driver_path
需要是一个字符串,所以不要传入 File
或 Path
对象。
我想使用 Watir 为旧版本的 chrome 启动 chrome,比如 /Application/Google Chrome 30.app
这里有一个参考 link 说 chrome 驱动程序期望 Chrome 安装在特定位置:
Mac /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome
这是在非标准位置设置 Chrome 可执行文件的参考 link
ChromeOptions options = new ChromeOptions();
options.setBinary("/path/to/other/chrome/binary");
我如何使用 Watir 做到这一点,给定语法
driver = Watir::Browser.new :chrome
谢谢!
为特定浏览器实例设置二进制文件
可以使用 :desired_capabilities
作为 "chromeOptions":
caps = {"chromeOptions" => {"binary" => 'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'}}
browser = Watir::Browser.new(:chrome, desired_capabilities: caps)
关于 binary
值的注释(来自 Chromedriver page):
Path to the Chrome executable to use (on Mac OS X, this should be the actual binary, not just the app. e.g., '/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
我的建议是完全不使用 WatiR,而是使用“Selenium bindings”。无论如何,我认为语法更容易理解。就使用 ChromeOptions 二进制位置参数而言,我会更好地信任 Selenium 绑定。
直接更新您的 Selenium driver_path
。
只需在启动新的 Chrome 浏览器之前调用它 window:
Selenium::WebDriver::Chrome::Service.driver_path = "/path/to/other/chrome/binary"
当然,将路径更改为您的 chromedriver
所在的位置。对我们来说,我们使用 Rails.root.join( "lib", "chromedriver" ).to_s
因为它对项目来说是动态的,我们可以将其签入回购协议,它只适用于我们所有的工程师。
注意:driver_path
需要是一个字符串,所以不要传入 File
或 Path
对象。