如何最小化Selenium WebDriver 3中的浏览器窗口

如何最小化Selenium WebDriver 3中的浏览器窗口,selenium,selenium-webdriver,Selenium,Selenium Webdriver,通过driver.manage().window().maximize()最大化窗口后,如何使用Java最小化Selenium WebDriver中的浏览器窗口?不幸的是,Selenium没有提供任何用于最小化浏览器窗口的内置函数。只有最大化窗口的功能。但这样做有一些变通办法 driver.manage().window().setPosition(new Point(-2000, 0)); 使用以下代码最小化浏览器窗口。它对我有效,我正在使用Selenium 3.5: Robot robot

通过
driver.manage().window().maximize()最大化窗口后,如何使用Java最小化Selenium WebDriver中的浏览器窗口?

不幸的是,Selenium没有提供任何用于最小化浏览器窗口的内置函数。只有最大化窗口的功能。但这样做有一些变通办法

driver.manage().window().setPosition(new Point(-2000, 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);

我使用的是SeleniumWebDriver(Java)3.4.0,也没有找到最小化函数。然后我使用下面的代码

driver.manage().window().maximize();
driver.manage().window().setPosition(new Point(0, -2000));
我们需要为点函数导入以下内容

import org.openqa.selenium.Point;
现在似乎有一个问题:

从以下文件:

webdriver.manage().window() 至少。

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

但是,由于默认/常用做法是在最大化模式下打开浏览器,而测试执行正在进行最小化时,浏览器将违反最佳做法,因为浏览器可能会失去对浏览上下文的关注,并且在测试执行期间可能会引发异常。然而,Selenium的客户端确实有一种方法,可以最终将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()
爪哇:


试试这个。它应该会起作用

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

可能重复它应该做什么?这个主意是什么?将窗口移出屏幕?如中所述,最小化窗口()函数在Python中运行良好。我在Firefox上使用过它。
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()
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())));
Dimension n = new Dimension(360, 592);  
driver.manage().window().setSize(n);