【问题标题】:Opening a browser in fullscreen mode using watir-webdriver使用 watir-webdriver 以全屏模式打开浏览器
【发布时间】:2011-07-14 09:07:46
【问题描述】:

我知道这是一个非常愚蠢的问题。但是,我无法找到如何使用 watir webdriver 使浏览器以全屏模式打开。我尝试使用最大化()但徒劳无功。代码是这样的:

require "rubygems"
require "watir-webdriver"
ff = Watir::Browser.new(:firefox)
ff.goto("http://google.com")
ff.maximize()

得到错误“未定义的方法最大化”

【问题讨论】:

    标签: ruby watir watir-webdriver


    【解决方案1】:

    现在,可以最大化浏览器:

    require "rubygems"
    require "watir-webdriver"
    browser = Watir::Browser.new(:firefox)
    browser.goto("http://google.com")    
    browser.driver.manage.window.maximize
    

    实际上是由 Selenium Driver 来处理它,并且 AFAIK 它在 Firefox 和 Chrome 中运行良好。

    【讨论】:

      【解决方案2】:

      对我有用的是以下

      在 hooks.rb 中(如果你使用的是黄瓜)

      Before do
          @browser = Watir::Browser.new :firefox #( :chrome, :ie, etc)
          @browser.driver.manage.window.maximize
      end
      

      【讨论】:

        【解决方案3】:

        如果您知道屏幕尺寸,您可以将浏览器移动到左上角并将其尺寸设置为屏幕尺寸:Setting browser window size in Watir-webdriver

        【讨论】:

        • 感谢您的回复。相信我,我是在看到您在回复中提到的帖子后才发布这个问题的。事实上,它仍然存在于浏览器的下一个选项卡中 :) 我认为会有一些命令,如 Maximize() 可以使浏览器进入完整模式
        • Y 这个命令 browser.execute_script('window.resizeTo(800,600)') 在 Firefox 中有效,但在 Chrome 中无效?
        • 也许有,你应该问问 webdriver 人。将 webdriver 和/或 selenium 标签添加到问题中,或在他们的邮件列表中提问。
        • 浏览器 (Chrome) 没有调整到我提到的大小。它保持默认的窗口大小。不显示错误信息
        • 能否请您也提供一个反馈:[stackoverflow.com/questions/6176526/…
        【解决方案4】:

        这对我有用!你必须说.window.maximize 而不仅仅是.maximize

        browser = Watir::Browser.new "firefox" 
        browser.goto "http://example.com"
        browser.window.maximize
        

        【讨论】:

          【解决方案5】:

          我不确定 ruby​​ 代码或 watir,但是对于 selenium 中的 Chromedriver,您不能只通过 driver.manage().window().maximize() 来调用窗口来最大化;

          相反,您必须做一些巧妙的小工作。您需要将选项传递给 Chromedriver。看到这个帖子How to set Chrome preferences using Selenium Webdriver .NET binding?

          var options = new ChromeOptions();
          options.AddArgument("-start-maximized");
          //start the chromedriver 
          IWebDriver driver = new ChromeDriver(@"*Path_To_Chromedriver*", options)
          
             //Perform your test
          
          driver.Quit(); 
          

          【讨论】:

          • 最新版本的 ChromeDriver 支持 driver.manage().window().maximize 调用。
          • 使用支持 Chrome v31-34 的 ChromeDriver v2.9 (2014-01-31) 无法拨打电话。
          • 尝试将您的 WebDriver 更新到最新版本,因为它确实可以工作。见code.google.com/p/chromedriver/issues/…
          【解决方案6】:

          我正在使用 ruby​​+watir-webdriver,此代码适用于 Firefox 和 IE 浏览器 (我没有在其他浏览器中检查过)

          screen_width = browser.execute_script("return screen.width;")
          screen_height = browser.execute_script("return screen.height;")
          browser.driver.manage.window.resize_to(screen_width,screen_height)
          browser.driver.manage.window.move_to(0,0)
          

          【讨论】:

          • 对于 chrome,这是在 mac 上唯一适合我的解决方案
          【解决方案7】:

          这对我有用

          @browser = Watir::Browser.new
          @browser.goto("http://google.com")
          @browser.driver.manage().window().maximize
          

          【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-10-02
          • 2017-06-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-01-04
          相关资源
          最近更新 更多