Maximize and minimize window in Selenium Python - Build an Automation Script
from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.chrome.options import Options import time # Setup Chrome options options = Options() options.add_argument('--disable-infobars') # Setup WebDriver service service = Service() driver = webdriver.Chrome(service=service, options=options) try: # Open browser driver.get('https://www.example.com') # Maximize window driver.maximize_window() time.sleep(1) # Wait a moment for the window to maximize # Verify maximize by checking window size is close to screen size window_size = driver.get_window_size() screen_width = driver.execute_script('return screen.width') screen_height = driver.execute_script('return screen.height') assert window_size['width'] >= screen_width * 0.9, f"Window width {window_size['width']} is less than 90% of screen width {screen_width}" assert window_size['height'] >= screen_height * 0.9, f"Window height {window_size['height']} is less than 90% of screen height {screen_height}" # Minimize window driver.minimize_window() time.sleep(1) # Wait a moment for the window to minimize # Verify minimize by checking window is not visible or size is very small # Selenium does not provide direct API to check minimized state, # so we check window size is very small or zero minimized_size = driver.get_window_size() assert minimized_size['width'] < 100, f"Window width {minimized_size['width']} is not small after minimize" assert minimized_size['height'] < 100, f"Window height {minimized_size['height']} is not small after minimize" finally: # Close browser driver.quit()
This script uses Selenium WebDriver with Python to automate maximizing and minimizing the browser window.
First, it opens the browser and navigates to a website.
Then it maximizes the window using driver.maximize_window() and verifies the window size is close to the screen size by comparing widths and heights.
Next, it minimizes the window using driver.minimize_window(). Since Selenium does not provide a direct way to check if the window is minimized, it verifies by checking the window size is very small.
Finally, it closes the browser in a finally block to ensure cleanup even if assertions fail.
Short time.sleep() calls are used to allow the window state to update before verification.
Now add data-driven testing with 3 different URLs to open before maximizing and minimizing
Practice
maximize_window() method do in Selenium WebDriver?Solution
Step 1: Understand the purpose of maximize_window()
The method is designed to enlarge the browser window to fill the screen.Step 2: Compare with other window methods
Unlike minimize_window() which hides the window, maximize_window() expands it fully.Final Answer:
It makes the browser window full screen. -> Option DQuick Check:
maximize_window() = full screen [OK]
- Confusing maximize with minimize
- Thinking maximize closes the window
- Assuming maximize refreshes the page
Solution
Step 1: Recall Selenium WebDriver method names
The correct method to minimize the window isminimize_window()called on the driver object.Step 2: Check syntax correctness
Options A, B, and C use incorrect method names or wrong casing.Final Answer:
driver.minimize_window() -> Option CQuick Check:
Correct method name = minimize_window() [OK]
- Using camelCase instead of snake_case
- Calling minimize() without _window
- Trying to access window as a property
from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() size = driver.get_window_size() print(size)
Solution
Step 1: Understand maximize_window() effect
This method makes the browser window full screen, so the size will reflect the screen dimensions.Step 2: Check get_window_size() output
This method returns a dictionary with keys 'width' and 'height' showing current window size.Final Answer:
A dictionary with the current window width and height after maximizing -> Option BQuick Check:
maximize_window() + get_window_size() = size dict [OK]
- Expecting get_window_size() to return None or error
- Thinking maximize_window() does not affect size
- Confusing method names
from selenium import webdriver driver = webdriver.Firefox() driver.minimize()
Solution
Step 1: Check method name correctness
The method to minimize the window isminimize_window(), notminimize().Step 2: Verify driver and method compatibility
Firefox driver supports window operations, so the error is due to wrong method name.Final Answer:
The method minimize() does not exist; should use minimize_window() -> Option AQuick Check:
Correct method = minimize_window() [OK]
- Using minimize() instead of minimize_window()
- Assuming Firefox driver lacks window methods
- Forgetting parentheses on driver creation
Solution
Step 1: Minimize the window first
Useminimize_window()to hide the browser window.Step 2: Maximize the window after minimizing
Usemaximize_window()to restore it to full screen.Step 3: Verify method correctness
Options A, C, and D use incorrect methods or order; A reverses the intended test flow.Final Answer:
driver.minimize_window() driver.maximize_window() -> Option AQuick Check:
Minimize then maximize = B [OK]
- Reversing the order of minimize and maximize
- Using incorrect method names like minimize()
- Trying to set size to zero instead of minimizing
Ready to prove it?
Pass the test and this pattern moves unknown
