Ruby&Selenium - 如何将参数传递给浏览器?
问题描述:
我的搜索只打开了答案为Java - this和thisRuby&Selenium - 如何将参数传递给浏览器?
硒宝石不包括addCommandLineOptions
据我所知道的,但它确实有WebDriver::Remote::Capabilities
。
如何使用它来添加参数?我知道你将它作为desired_capabilities:
传递给驱动程序构造函数,但采用何种格式?
不幸的是the documentation一直特别没用
答
您可以通过以下为Chrome设置--start-maximized
。有关更多详细信息,请参阅this post。
Capybara.register_driver :chrome_maximize do |app|
caps = Selenium::WebDriver::Remote::Capabilities.chrome(
'chromeOptions' => {
"args" => [ "--start-maximized", "--otherthings" ]
}
)
$driver = Capybara::Selenium::Driver.new(app, {:browser => :chrome, :desired_capabilities => caps})
end
答
我终于想通了!这是gem "selenium-webdriver"
的一个工作示例。也应该为Capybara工作。
第一行是如果你想运行一个自定义的二进制文件。如果是--headless命令行参数,则支持从firefox版本55开始。不要忘记让firefox-nightly可用于$ PATH Env Var。
Selenium::WebDriver::Firefox.path = "/home/user/bin/firefox-nightly"
caps = Selenium::WebDriver::Remote::Capabilities.firefox(
"moz:firefoxOptions" => {
args: ["--headless"] # and other arguments...
}
)
driver = Selenium::WebDriver.for :firefox, desired_capabilities: caps
# do stuff here .... driver.quit
谢谢你,但是这铬只..你知道Firefox的一个例子吗? – kehtyr