python控制浏览器最小化_如何在selenium webdriver 3中最小化浏览器窗口

Selenium的Python客户端提供了minimize_window()方法可以最小化Chrome浏览器窗口。然而,Selenium的Java客户端没有内置的最小化功能,但可以通过设置窗口位置来实现类似效果。例如,将窗口位置设置为负坐标可以将窗口移出屏幕达到最小化目的。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

7 个答案:

答案 0 :(得分: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())));

答案 1 :(得分:2)

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

driver.manage().window().setPosition(new Point(-2000, 0));

请查看此内容。

答案 2 :(得分:1)

这是一个很老的问题。但是现在似乎有一个minimize function:

来自“文档”:

webdriver.manage()。window()

this.minimize() → Promise

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

A promise that will be resolved when the command has completed.

因此代码应为:

webdriver.manage().window().minimize()

答案 3 :(得分: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;

答案 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)

尝试一下。应该可以。

Dimension n = new Dimension(360, 592);

driver.manage().window().setSize(n);

答案 6 :(得分: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,隐藏浏览器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值