相关文章推荐
风流的奔马  ·  maximum recursion ...·  1 年前    · 
玩足球的烤土司  ·  Pod 停滞在 ...·  1 年前    · 
含蓄的爆米花  ·  Laravel ...·  2 年前    · 

如何使用webDriver在chrome中最大化窗口(python)?

85 人关注

有什么办法可以用python selenium WebDriver将chrome浏览器窗口最大化?

注:我使用的是Chrome驱动23.0。 如果有任何关于这个问题的解决方案,我们将不胜感激!

python
selenium
selenium-chromedriver
Naveen Subramani
Naveen Subramani
发布于 2012-08-31
10 个回答
Janek Królikowski
Janek Królikowski
发布于 2021-11-21
已采纳
0 人赞同

你可以使用ChromeOptions并设置合适的参数。

options = ChromeOptions()
options.add_argument("--start-maximized")
driver = ChromeDriver(options)
    
对我来说不起作用 - 窗口快照显示尺寸只有800x600
@NamGVU 在执行测试时检查实际的屏幕分辨率是多少--最大尺寸是分辨率的大小。前段时间我遇到了这个问题,因为测试是由作为服务执行的进程运行的。这导致进程在会话0中运行,而会话0在屏幕分辨率方面的能力有限。不在服务中运行测试解决了这个问题。
我是在ubuntu服务器上运行的;所以我想屏幕大小是由Xvfb设置的。谢谢你指出来。
Sraw
This is 2017/12/15 now. driver.fullscreen_window() works.
driver.maximize_window() 是更舒适的函数,与 selenium chrome driver in python .
Tom Rose
Tom Rose
发布于 2021-11-21
0 人赞同

Nothing worked for me except:

driver.set_window_size(1024, 600)
driver.maximize_window()

我是通过检查selenium/webdriver/remote/webdriver.py发现的。我从未发现任何有用的文档,但阅读代码却有一点效果。

Dror
这是一个比其他答案更好的答案,因为这个答案支持所有的浏览器,而不仅仅是Chrome。
实际上你不需要先设置窗口大小。
对我来说, maximize_window 没有影响。不做 set_window_size 使窗口保持在800x600, set_window_size(1920, 1080) 在调用 maximize_window 之前和不调用 maximize_window 时使窗口大小为1920x1080。 fullscreen_window 导致我的代码挂起。我使用的是Chrome浏览器和 options.add_argument("--headless")
Mukesh Rajput
Mukesh Rajput
发布于 2021-11-21
0 人赞同

适用于MAC或Linux。

ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--kiosk");
driver = new ChromeDriver(chromeOptions);

For Windows:

ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--start-maximized");
driver = new ChromeDriver(chromeOptions);
    
问题是专门针对Python的。
n1c9
--kiosk是唯一一个在Mac上为我工作的。谢谢。
请记住,一旦使用 --kiosk ,试图改变窗口大小将使驱动程序崩溃,例子(python)。 opts = webdriver.ChromeOptions(); opts.add_argument('--kiosk'); driver = ChromeDriver(chrome_options=opts); driver.set_window_size(800, 600) 。要么全屏,要么窗口化。
smottt
smottt
发布于 2021-11-21
0 人赞同

根据Janek的回答,这对我来说很有效(Linux)。

from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument("--start-maximized")
driver = webdriver.Chrome(chrome_options=options)
    
这在Linux上一开始对我不起作用,但用 sudo apt install chromium-chromedriver 更新了Chrome驱动,然后就起作用了。
webdriver.Chrome(options=options)
roncsak
roncsak
发布于 2021-11-21
0 人赞同

Try this:

driver.manage().window().maximize();
    
我正在使用driver.window_maximize(),但它对chrome浏览器不起作用。
AttributeError: 'WebDriver'对象没有'manage'属性
是的,这个答案是旧的。
gsun
gsun
发布于 2021-11-21
0 人赞同

这对我来说是有效的,在Mac OS Sierra上使用Python。

options = webdriver.ChromeOptions()
options.add_argument("--kiosk")
driver = webdriver.Chrome(chrome_options=options)
    
Limbo
Limbo
发布于 2021-11-21
0 人赞同

I do the following:

from selenium import webdriver
browser = webdriver.Chrome('C:\chromedriver.exe')
browser.maximize_window()
    
arctic_monkey
arctic_monkey
发布于 2021-11-21
0 人赞同
ChromeOptions options = new ChromeOptions();
options.addArguments("--start-fullscreen");
    
虽然这个代码可能回答了问题,但提供关于如何和/或为什么解决这个问题的额外背景将提高答案的长期价值。
问题是专门针对Python的
Victor Marrerp
Victor Marrerp
发布于 2021-11-21
0 人赞同

试试这个,在windows平台上测试,效果很好。

from selenium import webdriver
browser = webdriver.Chrome('C:\\Users\\yeivic\\Downloads\\chromedriver')
browser.fullscreen_window()
browser.get('http://google.com/')