0
0
Selenium-pythonHow-ToBeginner · 3 min read

How to Disable Images in Selenium WebDriver for Faster Tests

To disable images in Selenium, configure browser options or preferences to block image loading before starting the WebDriver. For example, in Chrome, use chrome_options.add_experimental_option('prefs', {'profile.managed_default_content_settings.images': 2}) to disable images.
📐

Syntax

Disabling images in Selenium requires setting browser preferences before launching the WebDriver. This is done by modifying browser options or capabilities.

  • Chrome: Use chrome_options.add_experimental_option with profile.managed_default_content_settings.images set to 2 to block images.
  • Firefox: Use profile.set_preference with permissions.default.image set to 2.
python
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

chrome_options = Options()
chrome_options.add_experimental_option('prefs', {'profile.managed_default_content_settings.images': 2})
driver = webdriver.Chrome(options=chrome_options)

# For Firefox:
# from selenium.webdriver.firefox.firefox_profile import FirefoxProfile
# profile = FirefoxProfile()
# profile.set_preference('permissions.default.image', 2)
# driver = webdriver.Firefox(firefox_profile=profile)
💻

Example

This example shows how to disable images in Chrome using Selenium WebDriver in Python. The browser will load pages without images, speeding up test execution.

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

chrome_options = Options()
chrome_options.add_experimental_option('prefs', {'profile.managed_default_content_settings.images': 2})

driver = webdriver.Chrome(options=chrome_options)
driver.get('https://www.example.com')

print('Page title:', driver.title)
driver.quit()
Output
Page title: Example Domain
⚠️

Common Pitfalls

  • Not setting preferences before initializing the WebDriver will not disable images.
  • Using incorrect preference keys or values will have no effect.
  • Some browsers or versions may ignore these settings; always test your configuration.
  • Disabling images can affect visual tests or tests relying on image elements.
python
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

# Wrong way: setting prefs after driver creation
chrome_options = Options()
driver = webdriver.Chrome(options=chrome_options)
chrome_options.add_experimental_option('prefs', {'profile.managed_default_content_settings.images': 2})

# Correct way:
chrome_options = Options()
chrome_options.add_experimental_option('prefs', {'profile.managed_default_content_settings.images': 2})
driver = webdriver.Chrome(options=chrome_options)
📊

Quick Reference

Summary of disabling images in popular browsers:

BrowserPreference KeyValue to Disable Images
Chromeprofile.managed_default_content_settings.images2
Firefoxpermissions.default.image2

Key Takeaways

Set browser preferences before starting WebDriver to disable images.
In Chrome, use 'profile.managed_default_content_settings.images' set to 2 to block images.
In Firefox, set 'permissions.default.image' to 2 in the profile preferences.
Disabling images speeds up tests but may affect tests relying on images.
Always verify your browser version supports these preferences.