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

tom*_*tom 61 python selenium screen-resolution selenium-webdriver

我正在使用Selenium WebDriver for Python.我想要实例化具有特定宽度和高度的浏览器.到目前为止,我能得到的最接近的是:

driver = webdriver.Firefox()
driver.set_window_size(1080,800)
Run Code Online (Sandbox Code Playgroud)

哪个有效,但在创建后设置浏览器大小,我希望它在实例化时设置.我猜测有一种方法:

profile = webdriver.FirefoxProfile();
profile.set_preference(foo, 1080)
driver = webdriver.Firefox(profile)
Run Code Online (Sandbox Code Playgroud)

但我不知道foo会是什么,我无法弄清楚文档的位置.

Q1:有没有办法在实例化时设置宽度/高度?

Q2:列出可用的所有密钥的参考文档在哪里profile.set_preference

sir*_*rex 35

以下是我使用Selenium 2.48.0在Python中执行的操作:

from selenium.webdriver import Firefox
driver = Firefox()
driver.set_window_position(0, 0)
driver.set_window_size(1024, 768)
Run Code Online (Sandbox Code Playgroud)

  • OP 明确表示他们不想在创建后设置它。问题中的代码已经使用“set_window_size”显示了它们。 (2认同)

Ste*_*HHH 33

对我来说,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));
Run Code Online (Sandbox Code Playgroud)

1024宽度在哪里,768高度在哪里.


tso*_*orn 26

这适用于headless无头和非无头,并将以指定的大小启动窗口,而不是在以下之后设置它:

from selenium.webdriver import Firefox, FirefoxOptions

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

driver = Firefox(options=opts)
Run Code Online (Sandbox Code Playgroud)

  • Chrome 中的等效项是“--window-size=2560,1440”。 (6认同)
  • 这是正确答案,谢谢 (2认同)

Ron*_*kal 17

尝试这样的事情:

IWebDriver _driver = new FirefoxDriver();
_driver.Manage().Window.Position = new Point(0, 0);
_driver.Manage().Window.Size = new Size(1024, 768);
Run Code Online (Sandbox Code Playgroud)

不确定它是否会在启动后调整大小,所以也许它不是你想要的


e4c*_*4c5 5

如果您使用的是chrome

 chrome_options = Options()
 chrome_options.add_argument("--start-maximized");
 chrome_options.add_argument("--window-position=1367,0");
 if mobile_emulation :
     chrome_options.add_experimental_option("mobileEmulation", mobile_emulation)

  self.driver = webdriver.Chrome('/path/to/chromedriver', 
                                  chrome_options = chrome_options)
Run Code Online (Sandbox Code Playgroud)

这将导致浏览器在第二台监视器上启动,而不会在屏幕上引起任何烦人的闪烁或移动。