Setting Browser Window Size in Selenium Python

When automating web applications with Selenium Python, controlling the browser window size is essential for testing how your application behaves in different screen resolutions and layouts. Whether you're validating responsive designs, working with headless browsers, or ensuring consistency across test environments, setting the browser window size gives you precise control over the visual and functional aspects of your automated tests. In this blog, we’ll explore different ways to set and manage browser window size in Selenium with Python.


Why Set Browser Window Size?

Different users access web applications from devices of various sizes—desktops, tablets, and mobile phones. Therefore, it’s critical to:

Test responsive design across breakpoints (e.g., 1920x1080, 1366x768, 768x1024).

Capture consistent screenshots during test runs.

Ensure visibility of UI elements that may appear/disappear at different resolutions.

Avoid test flakiness due to hidden or off-screen elements.

By programmatically setting the browser window size, you make your Selenium tests more deterministic and environment-independent.


Method 1: Using set_window_size()

Selenium provides a direct method to set the width and height of the browser window.


python

from selenium import webdriver


driver = webdriver.Chrome()

driver.set_window_size(1366, 768)  # Width: 1366px, Height: 768px

driver.get("https://example.com")

This approach resizes the browser window after launch. It's effective and commonly used for desktop-sized resolutions.


Method 2: Using ChromeOptions or FirefoxOptions

To launch the browser with a predefined size from the start, you can use browser-specific options.


For Chrome:

python


from selenium import webdriver

from selenium.webdriver.chrome.options import Options


options = Options()

options.add_argument("window-size=1440,900")


driver = webdriver.Chrome(options=options)

driver.get("https://example.com")

For Firefox:

python


from selenium import webdriver

from selenium.webdriver.firefox.options import Options


options = Options()

options.add_argument("--width=1440")

options.add_argument("--height=900")


driver = webdriver.Firefox(options=options)

driver.get("https://example.com")

This method is especially useful when running tests in headless mode, where you must manually specify a window size to ensure correct layout rendering.


Method 3: Maximizing the Window

Sometimes, you may simply want to maximize the browser to fill the screen:


python


driver.maximize_window()

Note: This relies on the system's display settings and may behave inconsistently in headless or remote environments.


Method 4: Fullscreen Mode

To simulate a fullscreen environment:


python


driver.fullscreen_window()

This goes beyond maximization by hiding OS elements like the taskbar and browser controls—useful for immersive visual testing.


Best Practices

Always set window size before performing UI interactions to prevent misaligned or hidden elements.

Define standard breakpoints in your test suite (e.g., desktop, tablet, mobile).

In headless mode, window size must be explicitly defined—otherwise, Selenium may default to a minimal viewport, causing UI tests to fail.

Use utility functions or fixtures in test frameworks like pytest to standardize window size across tests.


Conclusion

Setting the browser window size is a crucial step in building robust, repeatable Selenium Python tests. Whether you’re testing across screen resolutions, capturing UI snapshots, or running headless test suites, controlling the viewport ensures consistent results and helps catch layout issues early. By mastering the various methods to set window size, you can enhance the reliability and coverage of your automated testing workflow. 

Learn  Selenium with Python Training Course

Read More: Using Browser Developer Tools in Selenium Python

Read More: Using Selenium Python with Chrome in Headless Mode

Read More: Parallel Testing in Selenium Python with PyTest


Visit Quality Thought Training Institute in Hyderabad
Get Direction 

Comments

Popular posts from this blog

Tosca vs Selenium: Which One to Choose?

Flask API Optimization: Using Content Delivery Networks (CDNs)

Using ID and Name Locators in Selenium Python