通过driver.manage().window().maximize();
最大化窗口后如何使用java最小化selenium webdriver中的浏览器窗口
答案 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:
来自“文档”:
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()
答案 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));
通过此输入,您可以根据操作系统分辨率值设置x
和y
,隐藏浏览器。
答案 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);