使用Chromedriver最大化Capybara下的窗口

时间:2013-11-04 11:03:01

标签: capybara selenium-chromedriver

我正在使用Capybara自动拍摄一些截图。

我需要Chrome浏览器运行最大化,但我似乎无法让它工作。

根据https://sites.google.com/a/chromium.org/chromedriver/capabilitieshttp://grokbase.com/t/gg/webdriver/134fs2vm3v/window-maximize-using-selenium-webdriver-in-ruby我认为以下内容应该有效:

Capybara.register_driver :selenium do |app|
  caps = Selenium::WebDriver::Remote::Capabilities.chrome("chromeOptions" => {"args" => [ "start-maximized" ]})
  Capybara::Selenium::Driver.new(app, {:browser => :chrome, :desired_capabilities => caps})
end

但浏览器大小永远不会改变。

有人想出这个吗?

4 个答案:

答案 0 :(得分:3)

只需一次修复,您的解决方案就可以与我合作:

caps = Selenium::WebDriver::Remote::Capabilities.chrome("chromeOptions" => {"args" => [ "--start-maximized" ]})
    $driver = Capybara::Selenium::Driver.new(app, {:browser => :chrome, :desired_capabilities => caps})

你已经给了开始最大化的地方 - 开始最大化。

在Windows 7平台上使用chrome驱动程序2.8(http://chromedriver.storage.googleapis.com/index.html?path=2.8/)。

此致 甲

答案 1 :(得分:1)

如果要在启动时而不是在测试过程中最大化,则可以执行以下操作:

page.windows[0].maximize

答案 2 :(得分:0)

这种方式是用java.Wish它可以给你一个亮点:     。driver.manage()窗口()最大化();

答案 3 :(得分:0)

似乎我们必须使用'goog:chromeOptions'作为密钥,而不仅仅是chromeOptions,像这样:

caps = Selenium::WebDriver::Remote::Capabilities.chrome(
  'goog:chromeOptions' => {
    args: [
      'start-maximized',
    ]
  },
)

Capybara::Selenium::Driver.new(
  app,
  browser: :chrome,
  desired_capabilities: caps
)

来源:https://sites.google.com/a/chromium.org/chromedriver/capabilities

Chromedriver Desired Capabilities