2017-10-15 24 views
1

我使用的是Chrome驱动程序的最新版本2.33,并且导出了从Windows到Mac的完全相同的代码,但浏览器垂直半屏最大化,没有完全最大化。与Firefox相同。Selenium Webdriver在MacOS环境下不能最大化

Webdriver driver = new ChromeDriver(); 
driver.manage().window().maximize(); 
driver.get("http://www.google.com"); 

但是,当我使用全屏方法时,它会充分利用最大化并将浏览器焦点置于前景。 这是一个已知的问题或者什么是错的?

回答

0

我在MacOS上塞拉利昂10.12.6,硒3.6.0做了一些测试,还与最新版本3.5.3,有:

火狐

  • 当前最新的Firefox 56.0的版本(64位)
  • v0.19.0 Geckodriver

铬:

  • 的Chrome版本61.0.3163.100(正式版本)(64位)的目前的最新版本
  • chromeDriver 2.33

关于Chrome,从ChromeDriver看来问题必须是唯一在6 2+版本:

修复了在Chrome 62 +上导致调整大小/定位窗口命令失败 的问题。

但我有你的同样的问题(我也试过2.32 Chrome驱动程序)。

关于Firefox的我做了如下测试:

1测试:

WebDriver driver= new FirefoxDriver(); 
driver.get("http://www.google.com"); 

在这种情况下,窗口启动最大化。

2测试:

WebDriver driver= new FirefoxDriver(); 
    driver.manage().window().maximize(); 
    driver.get("http://www.google.com"); 

窗口开始最大化并且变成非最大化。

3试验:

在下面的测试中,我插入的5秒的睡眠。在此期间,如果我改变窗口的大小,当最大化()后,被称为窗口正确最大化:

WebDriver driver= new FirefoxDriver(); 
    System.out.println("Wait for maximize"); 
    Thread.sleep(5000); 
    driver.manage().window().maximize(); 
    System.out.println("Maximized"); 
    driver.get("http://www.google.com"); 

4测试:

一样过,但我回想一下在最大化窗口之后最大化窗口。

WebDriver driver= new FirefoxDriver(); 
    System.out.println("Wait for maximize"); 
    Thread.sleep(5000); 
    driver.manage().window().maximize(); 
    System.out.println("Maximized"); 
    driver.get("http://www.google.com"); 
    Thread.sleep(5000); 
    driver.manage().window().maximize(); 

在这个测试中显示的错误。

因为行为是不是预期(从方法的文档):

/** 
    * Maximizes the current window if it is not already maximized 
    */ 
    void maximize(); 

步骤:

  1. 当窗口开始最大化。
  2. 在第一次睡眠期间,我改变了窗口的大小
  3. 在第一次睡眠结束时,窗口被正确地最大化。
  4. 我没有第二睡眠
  5. 在做任何事情在2睡眠结束后,与同样大小的窗口回报我在第2步改变

最后我做出了最后的测试。基本上和最后一个一样,但是在第四步中,我改变了窗口的大小。在这种情况下,窗口最后会被最大化。

编辑

关于Chrome,你可以这样做:

Dimension dim= new Dimension(1280,860); 
    driver.manage().window().setSize(dim); 

设置desidered尺寸。

+0

非常感谢你抽出时间来回答我。 –

+0

@IlzatAbdusamat乐于帮助,欢迎来到Stack Overflow。如果此答案解决了您的问题,请将其标记为已接受:stackoverflow.com/help/someone-answers –

+0

@IlzatAbdusamat我刚刚编辑了答案 –

0

按文档,这是recomended使用ChromeOptions类在最大化模式打开谷歌浏览如下:

ChromeOptions options = new ChromeOptions(); 
options.addArguments("start-maximized"); 
options.addArguments("disable-infobars"); 
driver = new ChromeDriver(options); 
driver.get("http://www.google.com"); 
相关问题