我看到有一种最大化(文档化)的方法,但是我找不到最小化的反面。
我尝试过调整窗口的大小和位置,但是这与最小化的方式不同。
Selenium中有办法吗?还是只能通过机器人按键事件(例如Windows + D)来完成此操作?
#1 楼
您的问题的简短答案:不幸的是,Selenium没有提供任何内置功能来最小化浏览器窗口,仅提供了最大化窗口的功能。但是有一些解决方法。如果希望窗口不可见,则需要使用此代码。通过使用它,浏览器窗口将不在您的视线范围内,您将无法看到正在运行的窗口,但是不用担心您的测试用例会继续执行。它经过尝试和测试,可以解决。
参考链接
driver.manage().window().setPosition(new Point(-2000, 0))
您可以使用PhantomJS运行测试用例,下载并通过此链接进行安装,只需将
driver = webdriver.Firefox()
更改为driver = webdriver.PhantomJS()
,而无需更改任何代码。您的浏览器将在隐藏模式下运行。
参考链接
使用Robot类和Windows快捷键进行相同操作(您已经提到过)。
评论
另一种选择可能是使用“ HtmlUnitDriver”(与PhantomJS类似的行)。
–JustARandomGuy
2015年11月5日在2:16
是的,那里也有,但我认为OP可能对此有所了解。
–迪曼
2015年11月5日在2:23
非常感谢您的回答。我将尝试PhantomJS并查看其工作原理。
– kanayikkaran
2015年11月5日下午5:20
为什么每个人都这么说? phandomJS与现有代码一起使用并不是真的,并且您无需更改任何内容。
–veritaS
18-11-3在23:21
#2 楼
也许,我在这里的上下文有误(OP的文档链接现在已断开),但是我相信您现在可以使用webdriver.minimize_window()
最小化窗口。Python文档
#3 楼
对于C#
语言: driver.Manage().Window.Minimize();
在Chrome,Firefox,IE上正常运行,但对于“ Edge”驱动程序则失败。 >
评论
您可以添加文档的参考链接!
– Nawshad Rehan Rasha
18/12/5在5:19
@NawshadRehanRasha我找不到合适的文档。它为我工作(在C#中)。我有一些我尝试过的代码的图片。请检查链接:github.com/priyanka-kondapuram/C-Sharp/issues/1
–Priyanka
18/12/20在18:50
#4 楼
我最好说的是使用Robot Class键入快捷方式。将快捷方式最小化:Alt + Space + N
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 楼
您还可以调整窗口大小: Dimension n = new Dimension(360,592);
driver.manage().window().setSize(n);
#6 楼
driver.manage().window().setSize(new Dimension(1200,800));
这对您有用。
评论
您能否详细说明为什么这与2015年11月19日的相同答案不同?
–corsiKa♦
20年3月1日在16:39
评论
只是好奇为什么要最小化?您是否想测试在最小化的情况下可行的方法?要么?过去,我遇到的问题不是全屏浏览器。导致在开始时最大程度地利用浏览器来开始每个测试。我真的不想在最小化的情况下进行任何测试。我想知道为什么WebDriver有一个最大化的选择,而没有最小化。另外,最近在我参加的一次采访中有人问我这个问题。