如何在Selenium WebDriver中设置浏览器的宽度和高度?
我正在使用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)