使用Chromedriver将Capybara下的窗口最大化。

问题描述 投票:0回答:3

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

我需要chrome浏览器以最大化的方式运行,但我似乎无法让它工作。

基于 https:/sites.google.comachromium.orgchromedrivercapabilities。http:/grokbase.comtggwebdriver134fs2vm3vwindow-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

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

有人解决了这个问题吗?

capybara selenium-chromedriver
3个回答
4
投票

你的解决方案与我一起工作,只有一个修复。

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

你给了start-maximized,而它应该是-start-maximized。

使用chrome driver 2.8 (http:/chromedriver.storage.googleapis.comindex.html?path=2.8。)在windows 7平台上。

Regards,A.


1
投票

如果你想最大化不是在启动时,而是在测试过程中,你可以做到。

page.windows[0].maximize

0
投票

这种方式是用java.Wish它可以给你一个启示:driver.manage().window().implimacy()。


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
)

来源:Http:/sites.google.comachromium.orgchromedrivercapabilities https:/sites.google.comachromium.orgchromedrivercapabilities。

Chromedriver Desired Capabilities

© www.soinside.com 2019 - 2024. All rights reserved.