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

Arm*_*aan 5 selenium selenium-webdriver

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

Deb*_*anB 5

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

然而,由于默认/常见的做法是以最大化模式打开浏览器,而测试执行正在进行时, 最小化浏览器将违反最佳实践,因为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()
Run Code Online (Sandbox Code Playgroud)

爪哇:

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())));
Run Code Online (Sandbox Code Playgroud)


小智 2

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

driver.manage().window().setPosition(new Point(-2000, 0));
Run Code Online (Sandbox Code Playgroud)