Search code examples
pythonseleniumbrowser-automationsplinter

Manipulating browser (window) size using Splinter


I am trying to use the Firefox driver for Splinter to test some responsive design.

Naturally, this requires me to resize the browser window. I can't find anything at all about browser resizing in the documentation.

How can I do this?

from splinter import Browser
with Browser() as browser:
    # How do I set the browser size?

Solution

  • Just do this:

    browser.driver.set_window_size(640, 480)
    

    The Splinter API doesn't seem to directly support this - or at least not yet. The generic API docs, as well as the docs for each specific browser's driver, currently make no mention of anything related to window size). However, a seemingly undocumented feature is that you're able to access the underlying Selenium webdriver instance of a Splinter webdriver instance through its .driver property:

    >>> from splinter import Browser
    >>> browser = Browser()
    >>> browser
    <splinter.driver.webdriver.firefox.WebDriver object at 0x7fac66d93a10>
    >>> browser.driver
    <selenium.webdriver.firefox.webdriver.WebDriver object at 0x1fbf3d0>
    

    This allows us to use any Selenium features that don't have wrappers in the Splinter API, like resizing the browser with the set_window_size method.