如何使用 webDriver (python) 在 chrome 中最大化窗口
Posted
技术标签:
【中文标题】如何使用 webDriver (python) 在 chrome 中最大化窗口【英文标题】:How to Maximize window in chrome using webDriver (python) 【发布时间】:2012-08-26 01:28:11 【问题描述】:有没有办法使用 python selenium WebDriver 最大化 chrome 浏览器窗口?
注意:我使用的是 Chrome 驱动程序 23.0 对此的任何解决方案将不胜感激!
【问题讨论】:
【参考方案1】:这对我有用
driver.maximize_window()
driver.get(url)
【讨论】:
【参考方案2】:试试这个,在windows平台上测试过,效果很好:
from selenium import webdriver
browser = webdriver.Chrome('C:\\Users\\yeivic\\Downloads\\chromedriver')
browser.fullscreen_window()
browser.get('http://google.com/')
【讨论】:
【参考方案3】:这适用于我,Mac OS Sierra 使用 Python,
options = webdriver.ChromeOptions()
options.add_argument("--kiosk")
driver = webdriver.Chrome(chrome_options=options)
【讨论】:
【参考方案4】:根据 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)
【参考方案5】:
我执行以下操作:
from selenium import webdriver
browser = webdriver.Chrome('C:\chromedriver.exe')
browser.maximize_window()
【讨论】:
【参考方案6】:试试
ChromeOptions options = new ChromeOptions();
options.addArguments("--start-fullscreen");
【讨论】:
虽然此代码可能会回答问题,但提供有关它如何和/或为什么解决问题的额外上下文将提高答案的长期价值。 问题是专门针对 Python 的【参考方案7】:对于 MAC 或 Linux:
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--kiosk");
driver = new ChromeDriver(chromeOptions);
对于 Windows:
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--start-maximized");
driver = new ChromeDriver(chromeOptions);
【讨论】:
问题是专门针对python的。 --kiosk 是唯一一个在 Mac 上为我工作的。谢谢。 请记住,一旦使用--kiosk
,尝试更改窗口大小将导致驱动程序崩溃,例如(python):opts = webdriver.ChromeOptions(); opts.add_argument('--kiosk'); driver = ChromeDriver(chrome_options=opts); driver.set_window_size(800, 600)
。全屏或窗口。【参考方案8】:
您可以使用 ChromeOptions 并设置合适的参数:
options = ChromeOptions()
options.add_argument("--start-maximized")
driver = ChromeDriver(options)
【讨论】:
不适合我 - 窗口快照显示大小仅为 800x600 @NamGVU 在执行测试时检查实际屏幕分辨率是多少 - 最大尺寸是分辨率的尺寸。前段时间我遇到了这个问题,因为测试是由作为服务执行的进程运行的。这导致进程在会话 0 中运行,该会话在屏幕分辨率方面的功能有限。运行不在服务中的测试可以解决这个问题。 我在ubuntu服务器上运行它;所以我猜Xvfb设置的屏幕尺寸。谢谢指出。 现在是 2017/12/15。driver.fullscreen_window()
工作。
driver.maximize_window() 是更舒适的函数,可与 python 中的 selenium chrome driver 配合使用。【参考方案9】:
没有什么对我有用,除了:
driver.set_window_size(1024, 600)
driver.maximize_window()
我通过检查 selenium/webdriver/remote/webdriver.py 发现了这一点。我从来没有找到任何有用的文档,但阅读代码的效果是有限的。
【讨论】:
这是一个比其他答案更好的答案,因为它支持所有浏览器,而不仅仅是 Chrome。 实际上不需要先设置窗口大小。 对我来说,maximize_window
没有效果。不做set_window_size
将窗口保持在800x600,set_window_size(1920, 1080)
在调用maximize_window
之前和不调用maximize_window
时使窗口大小为1920x1080。 fullscreen_window
导致我的代码挂起。我正在使用带有 options.add_argument("--headless")
的 Chrome。【参考方案10】:
试试这个:
driver.manage().window().maximize();
【讨论】:
我正在使用 driver.window_maximize()。但它不适用于单独的 chrome 浏览器。 AttributeError: 'WebDriver' 对象没有属性 'manage' 是的,这个答案很旧。以上是关于如何使用 webDriver (python) 在 chrome 中最大化窗口的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Selenium Webdriver Python 3 中使用 Chrome 配置文件
如何在 Python 中使用 Selenium WebDriver 获取文本
如何在python中使用Selenium WebDriver获取整个网页源[重复]
如何使用Python避免Selenium Webdriver中的SSL认证错误?