在使用Java的Selenium WebDriver中,执行
driver.manage().window().maximize();
最大化窗口后,如何将浏览器窗口最小化呢?请参考以下代码:driver.manage().window().minimize();
driver.manage().window().maximize();
最大化窗口后,如何将浏览器窗口最小化呢?请参考以下代码:driver.manage().window().minimize();
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()
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())));
现在似乎有一个最小化函数:
从文档中了解到:
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()
至少在JavaScript中。
不幸的是,Selenium没有提供任何内置功能来最小化浏览器窗口。只有最大化窗口的功能。但是有一些解决方法可以实现最小化。
driver.manage().window().setPosition(new Point(-2000, 0));
minimize()
的方法,并且使用Java。因此,如果您有Selenium 4版本,则可以使用driver.manage().window().minimize()
。这在Python中对我有效。
窗口将会打开,加载后会最小化。
driver.get(url)
driver.minimize_window()
我正在使用Selenium WebDriver(Java)3.4.0,并且也没有找到最小化功能。然后,我使用以下代码。
driver.manage().window().maximize();
driver.manage().window().setPosition(new Point(0, -2000));
import org.openqa.selenium.Point;
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);
试一下,应该可以。
Dimension n = new Dimension(360, 592);
driver.manage().window().setSize(n);