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_optionwithprofile.managed_default_content_settings.imagesset to2to block images. - Firefox: Use
profile.set_preferencewithpermissions.default.imageset to2.
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:
| Browser | Preference Key | Value to Disable Images |
|---|---|---|
| Chrome | profile.managed_default_content_settings.images | 2 |
| Firefox | permissions.default.image | 2 |
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.