The Desired Capabilities implementation.


DesiredCapabilities Set of default supported desired capabilities.
class selenium.webdriver.common.desired_capabilities.DesiredCapabilities[source]

Set of default supported desired capabilities.

Use this as a starting point for creating a desired capabilities object for requesting remote webdrivers for connecting to selenium server or selenium grid.

Usage Example:

from selenium import webdriver

selenium_grid_url = ""

# Create a desired capabilities object as a starting point.
capabilities = DesiredCapabilities.FIREFOX.copy()
capabilities['platform'] = "WINDOWS"
capabilities['version'] = "10"

# Instantiate an instance of Remote WebDriver with the desired capabilities.
driver = webdriver.Remote(desired_capabilities=capabilities,

Note: Always use ‘.copy()’ on the DesiredCapabilities object to avoid the side effects of altering the Global class instance.

CHROME = {'browserName': 'chrome'}
EDGE = {'browserName': 'MicrosoftEdge'}
FIREFOX = {'acceptInsecureCerts': True, 'browserName': 'firefox', 'moz:debuggerAddress': True}
HTMLUNIT = {'browserName': 'htmlunit', 'platform': 'ANY', 'version': ''}
HTMLUNITWITHJS = {'browserName': 'htmlunit', 'javascriptEnabled': True, 'platform': 'ANY', 'version': 'firefox'}
INTERNETEXPLORER = {'browserName': 'internet explorer', 'platformName': 'windows'}
IPAD = {'browserName': 'iPad', 'platform': 'mac', 'version': ''}
IPHONE = {'browserName': 'iPhone', 'platform': 'mac', 'version': ''}
SAFARI = {'browserName': 'safari', 'platformName': 'mac'}
WEBKITGTK = {'browserName': 'MiniBrowser'}
WPEWEBKIT = {'browserName': 'MiniBrowser'}