【问题标题】:Capybara/Selenium: resize window has no effect and does not workCapybara/Selenium:调整窗口大小无效且不起作用
【发布时间】:2017-11-23 13:47:32
【问题描述】:

我有一个测试,我需要先打开一个具有默认窗口大小的页面,然后将其更改为一些自定义高度和宽度。 为此,我使用以下代码:

Capybara.current_session.driver.browser.manage.window.resize_to(1024, 768)

但这似乎不起作用。窗口大小保持不变 知道我做错了什么吗? 我正在使用 chrome 驱动程序。这就是我最初设置驱动程序的方式(来自 env 设置文件):

Capybara.configure do |capybara|

  Capybara.register_driver :selenium do |app|
  Capybara::Selenium::Driver.new(app, browser: :chrome)
  end

end

【问题讨论】:

    标签: selenium capybara window-resize


    【解决方案1】:

    首先,确保您使用的是最新的chromedriver,以便它与您使用的 Chrome 版本兼容。目前这将是 chromedriver 2.33 with Chrome 62。

    其次,确保您正在运行的显示器可以处理您要调整到的任何分辨率,因为它并没有很好地定义当您指定的尺寸大于当前系统可以支持的尺寸时会发生什么

    最后,停止使用驱动程序特定的方法,只使用 Capybara 窗口方法

    page.current_window.resize_to(1024, 768)
    

    【讨论】:

    • 感谢@Thomas Walpole。驱动程序和显示器完全兼容。在其他一些测试中,我可以成功使用 page.driver.browser.switch_to.window(somewindow) 之类的命令。我试过切换到 Capybara 窗口方法,但也没有运气:(
    • @MariaK。你用的是什么版本的 Capybara、selenium-webdriver、chromedriver、chrome?
    • @MariaK。另外,gist.github.com/twalpole/ec7dafc36f0654931aa8e78b066d56b9 的代码在您运行时是否对您有效?
    • 我正在使用 capybara 2.14.0、chromedriver 2.32、selenium-webdriver 2.53.4、chrome 版本 62.0.3202.94(我加入团队时已经这样设置)。并且代码无法调整大小。所以我升级到最新的 selenium-webdriver 和 capybara,现在一切都像魅力一样!非常感谢@ThomasWalpole !!!我必须承认这是我的一个假错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-09
    • 2014-04-22
    相关资源
    最近更新 更多