如何在selenium webdriver 3中最小化浏览器窗口

时间:2017-03-07 11:24:12

标签: selenium selenium-webdriver

通过driver.manage().window().maximize();最大化窗口后如何使用java最小化selenium webdriver中的浏览器窗口

7 个答案:

答案 0 :(得分:2)

不幸的是,Selenium没有提供任何内置函数来最小化浏览器窗口,只有最大化窗口的功能。但是有一些解决方法可以做到这一点。

driver.manage().window().setPosition(new Point(-2000, 0));

请查看此内容。

答案 1 :(得分:2)

Selenium的Java客户端没有内置的方法来最小化 浏览上下文

但是,作为默认/常见做法,是在最大化模式下打开浏览器,而 Test Execution 正在进行 最小化,浏览器将违反最佳做法,因为Selenium可能会失去对浏览上下文的关注,并且可能会在测试执行期间引发异常。但是, Selenium的 Python客户端确实具有minimize_window()方法,该方法最终将 Chrome浏览上下文有效地推送到了后台。


示例代码

Python:

from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_argument("--start-maximized")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
driver = webdriver.Chrome(chrome_options=options, executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe')
driver.get('https://www.google.co.in')
driver.minimize_window()

Java:

driver.navigate().to("https://www.google.com/");
Point p = driver.manage().window().getPosition();
Dimension d = driver.manage().window().getSize();
driver.manage().window().setPosition(new Point((d.getHeight()-p.getX()), (d.getWidth()-p.getY())));

答案 2 :(得分:1)

这是一个很老的问题。但是现在似乎有一个minimize function

来自“文档”:

webdriver.manage()。window()

this.minimize() → Promise<undefined>
Minimizes the current window. The exact behavior of this command is specific to individual window managers, but typicallly involves hiding the window in the system tray.

Parameters  
None.

Returns 
Promise<undefined>
A promise that will be resolved when the command has completed.

因此代码应为:

webdriver.manage().window().minimize()

至少in JavaScript

答案 3 :(得分:0)

您尚未提及您的开发技术。我正在使用C#。

有了这个,没有办法可以最小化浏览器窗口。这可能是出于安全考虑。如您所述,您可以最大化窗口。

但是,您可以使用以下代码设置窗口的位置:

driver.Manage().Window.Position = new System.Drawing.Point(x, y);

在Java中,它可能类似于以下内容;不确定语法:

driver.manage().window().setPosition(new org.openqa.selenium.Point(x, y));

参考thisthis

通过此输入,您可以根据操作系统分辨率值设置xy隐藏浏览器。

答案 4 :(得分:0)

使用以下代码来最小化浏览器窗口,它对我有用,我使用的是Selenium 3.5:

Robot robot=new Robot();
robot.keyPress(KeyEvent.VK_ALT);
robot.keyPress(KeyEvent.VK_SPACE);
robot.keyPress(KeyEvent.VK_N);
robot.keyRelease(KeyEvent.VK_ALT);
robot.keyRelease(KeyEvent.VK_SPACE);
robot.keyRelease(KeyEvent.VK_N);

答案 5 :(得分:0)

我使用的是Selenium Web Driver(Java)3.4.0,但也没有找到最小化功能。然后我使用以下代码。

driver.manage().window().maximize();
driver.manage().window().setPosition(new Point(0, -2000));

**我们需要为Point函数导入以下内容。

import org.openqa.selenium.Point;

答案 6 :(得分:0)

尝试一下。应该可以。

Dimension n = new Dimension(360, 592);  
driver.manage().window().setSize(n);