如何在Selenium WebDriver中设置浏览器的宽度和高度?

115 投票
10 回答
180134 浏览
提问于 2025-04-17 19:00

我正在使用Python的Selenium WebDriver。
我想在打开浏览器时就设置一个特定的宽度和高度。到目前为止,我能做到的最接近的方式是:

driver = webdriver.Firefox()
driver.set_window_size(1080,800)

这个方法可以用,但它是在浏览器创建后再调整大小的,我希望在创建的时候就设置好。我猜可能有一种方法是这样的:

profile = webdriver.FirefoxProfile();
profile.set_preference(foo, 1080)
driver = webdriver.Firefox(profile)

但我不知道foo应该是什么,也找不到相关的文档。

问题1:有没有办法在创建时就设置宽度和高度?

问题2:在哪里可以找到列出所有可以用在profile.set_preference中的键的参考文档?

10 个回答

46

对我来说,在OS X 10.9上,只有这个在Java 7中有效:

// driver = new RemoteWebDriver(new URL(grid), capability);
driver.manage().window().setPosition(new Point(0,0));
driver.manage().window().setSize(new Dimension(1024,768));

这里的1024是宽度,768是高度。

55

下面是我在Python中使用Selenium 2.48.0的方法:

from selenium.webdriver import Firefox
driver = Firefox()
driver.set_window_position(0, 0)
driver.set_window_size(1024, 768)
68

这里有一个解决方案,可以在无头模式和普通模式下都能使用,并且可以直接以指定的大小打开窗口,而不是在打开后再调整大小:

Chrome:

from selenium.webdriver import Chrome, ChromeOptions

opts = ChromeOptions()
opts.add_argument("--window-size=2560,1440")

driver = Chrome(options=opts)

Firefox:

from selenium.webdriver import Firefox, FirefoxOptions

opts = FirefoxOptions()
opts.add_argument("--width=2560")
opts.add_argument("--height=1440")

driver = Firefox(options=opts)

撰写回答