How to trigger headless test execution in Selenium with Python?

Selenium supports headless execution, allowing browser automation to run without a visible GUI. This is useful for automated testing, server environments, or when you don't need to see the browser window. In Chrome, headless mode is implemented using the ChromeOptions class.

Setting Up Headless Chrome

To enable headless mode, create a ChromeOptions object and add the --headless argument ?

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

# Create ChromeOptions object
chrome_options = Options()

# Enable headless mode
chrome_options.add_argument("--headless")

# Initialize driver with headless options
driver = webdriver.Chrome(options=chrome_options)

try:
    # Navigate to webpage
    driver.get("https://www.tutorialspoint.com/about/about_careers.htm")
    
    # Get page title
    print("Page title:", driver.title)
    
finally:
    # Clean up
    driver.quit()
Page title: About Careers at Tutorials Point - Tutorialspoint

Additional Headless Options

You can combine headless mode with other Chrome options for better performance ?

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

chrome_options = Options()

# Headless mode
chrome_options.add_argument("--headless")

# Additional performance options
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--disable-dev-shm-usage")
chrome_options.add_argument("--disable-gpu")

driver = webdriver.Chrome(options=chrome_options)

try:
    driver.get("https://www.tutorialspoint.com")
    print("Successfully loaded:", driver.current_url)
    print("Page loaded in headless mode")
    
finally:
    driver.quit()
Successfully loaded: https://www.tutorialspoint.com/
Page loaded in headless mode

Headless vs Normal Mode Comparison

Feature Headless Mode Normal Mode
Browser Window No visible window Visible browser window
Performance Faster execution Slower due to rendering
Memory Usage Lower memory consumption Higher memory usage
Debugging Screenshots needed for debugging Visual debugging possible

Common Use Cases

Headless mode is particularly useful for:

  • Automated Testing: Running test suites in CI/CD pipelines
  • Web Scraping: Extracting data without browser overhead
  • Server Environments: Running on servers without display
  • Performance Testing: Faster execution for load testing

Conclusion

Headless execution in Selenium provides faster, more efficient browser automation without the GUI overhead. Use ChromeOptions with --headless argument for background automation tasks and testing environments.

Updated on: 2026-03-26T18:45:33+05:30

993 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements