selenium.webdriver.ie.webdriver

Classes

WebDriver([options, service, keep_alive])

Controls the IEServerDriver and allows you to drive Internet Explorer.

class selenium.webdriver.ie.webdriver.WebDriver(options: Options = None, service: Service = None, keep_alive: bool = True)[source]

Controls the IEServerDriver and allows you to drive Internet Explorer.

Creates a new instance of the Ie driver.

Starts the service and then creates new instance of Ie driver.

Args:
  • options - IE Options instance, providing additional IE options

  • service - (Optional) service instance for managing the starting and stopping of the driver.

  • keep_alive - Whether to configure RemoteConnection to use HTTP keep-alive.

quit() None[source]

Closes the browser and shuts down the IEServerDriver executable.

Adds a cookie to your current session.

Parameters:

cookie_dictdict
  • A dictionary object, with required keys - “name” and “value”;

  • Optional keys - “path”, “domain”, “secure”, “httpOnly”, “expiry”, “sameSite”

Examples:

>>> driver.add_cookie({'name' : 'foo', 'value' : 'bar'})
>>> driver.add_cookie({'name' : 'foo', 'value' : 'bar', 'path' : '/'})
>>> driver.add_cookie({'name' : 'foo', 'value' : 'bar', 'path' : '/', 'secure' : True})
>>> driver.add_cookie({'name' : 'foo', 'value' : 'bar', 'sameSite' : 'Strict'})
add_credential(credential: Credential) None[source]

Injects a credential into the authenticator.

Example:

>>> from selenium.webdriver.common.credential import Credential
>>> credential = Credential(id="user@example.com", password="aPassword")
>>> driver.add_credential(credential)
add_virtual_authenticator(options: VirtualAuthenticatorOptions) None[source]

Adds a virtual authenticator with the given options.

Example:

>>> from selenium.webdriver.common.virtual_authenticator import VirtualAuthenticatorOptions
>>> options = VirtualAuthenticatorOptions(protocol="u2f", transport="usb", device_id="myDevice123")
>>> driver.add_virtual_authenticator(options)
back() None[source]

Goes one step backward in the browser history.

Example:

>>> driver.back()
bidi_connection()[source]
property capabilities: dict

Returns the drivers current capabilities being used.

Example:

>>> print(driver.capabilities)
close() None[source]

Closes the current window.

Example:

>>> driver.close()
create_web_element(element_id: str) WebElement[source]

Creates a web element with the specified element_id.

property current_url: str

Gets the URL of the current page.

Example:

>>> print(driver.current_url)
property current_window_handle: str

Returns the handle of the current window.

Example:

>>> print(driver.current_window_handle)
delete_all_cookies() None[source]

Delete all cookies in the scope of the session.

Example:

>>> driver.delete_all_cookies()

Deletes a single cookie with the given name.

Example:

>>> driver.delete_cookie('my_cookie')
delete_downloadable_files() None[source]

Deletes all downloadable files.

Example:

>>> driver.delete_downloadable_files()
property dialog

Returns the FedCM dialog object for interaction.

Example:

>>> dialog = driver.dialog
download_file(file_name: str, target_directory: str) None[source]

Downloads a file with the specified file name to the target directory.

Parameters:

file_namestr
  • The name of the file to download.

target_directorystr
  • The path to the directory to save the downloaded file.

Example:

>>> driver.download_file("example.zip", "/path/to/directory")
execute(driver_command: str, params: dict = None) dict[source]

Sends a command to be executed by a command.CommandExecutor.

Parameters:

driver_commandstr
  • The name of the command to execute as a string.

paramsdict
  • A dictionary of named Parameters to send with the command.

Returns:

dict - The command’s JSON response loaded into a dictionary object.

execute_async_script(script: str, *args)[source]

Asynchronously Executes JavaScript in the current window/frame.

Parameters:

scriptstr
  • The javascript to execute.

*argstuple
  • Any applicable arguments for your JavaScript.

Example:

>>> script = "var callback = arguments[arguments.length - 1]; "
...     "window.setTimeout(function(){ callback('timeout') }, 3000);"
>>> driver.execute_async_script(script)
execute_cdp_cmd(cmd: str, cmd_args: dict)[source]

Execute Chrome Devtools Protocol command and get returned result The command and command args should follow chrome devtools protocol domains/commands, refer to link https://chromedevtools.github.io/devtools-protocol/

Parameters:

cmdstr,
  • Command name

cmd_argsdict
  • Command args

  • Empty dict {} if there is no command args

Returns:

A dict, empty dict {} if there is no result to return.
  • To getResponseBody: {‘base64Encoded’: False, ‘body’: ‘response body string’}

Example:

>>> driver.execute_cdp_cmd('Network.getResponseBody', {'requestId': requestId})
execute_script(script, *args)[source]

Synchronously Executes JavaScript in the current window/frame.

Parameters:

scriptstr
  • The javascript to execute.

*argstuple
  • Any applicable arguments for your JavaScript.

Example:

>>> input_id = "username"
>>> input_value = "test_user"
>>> driver.execute_script(
...     "document.getElementById(arguments[0]).value = arguments[1];", input_id, input_value
... )
property fedcm: FedCM

Returns the Federated Credential Management (FedCM) dialog object for interaction.

Returns:

FedCM: an object providing access to all Federated Credential Management (FedCM) dialog commands.

Examples:

>>> title = driver.fedcm.title
>>> subtitle = driver.fedcm.subtitle
>>> dialog_type = driver.fedcm.dialog_type
>>> accounts = driver.fedcm.account_list
>>> driver.fedcm.select_account(0)
>>> driver.fedcm.accept()
>>> driver.fedcm.dismiss()
>>> driver.fedcm.enable_delay()
>>> driver.fedcm.disable_delay()
>>> driver.fedcm.reset_cooldown()
fedcm_dialog(timeout=5, poll_frequency=0.5, ignored_exceptions=None)[source]

Waits for and returns the FedCM dialog.

Parameters:

timeoutint
  • How long to wait for the dialog

poll_frequencyfloatHow
  • Frequently to poll

ignored_exceptionsAny
  • Exceptions to ignore while waiting

Returns:

The FedCM dialog object if found

Raises:

TimeoutException if dialog doesn’t appear WebDriverException if FedCM not supported

property file_detector: FileDetector
file_detector_context(file_detector_class, *args, **kwargs)[source]

Overrides the current file detector (if necessary) in limited context. Ensures the original file detector is set afterwards.

Parameters:

file_detector_classobject
  • Class of the desired file detector. If the class is different

from the current file_detector, then the class is instantiated with args and kwargs and used as a file detector during the duration of the context manager.

argstuple
  • Optional arguments that get passed to the file detector class during instantiation.

kwargsdict
  • Keyword arguments, passed the same way as args.

Example:

>>> with webdriver.file_detector_context(UselessFileDetector):
>>>    someinput.send_keys('/etc/hosts')
find_element(by='id', value: str | None = None) WebElement[source]

Find an element given a By strategy and locator.

Parameters:

byselenium.webdriver.common.by.By

The locating strategy to use. Default is By.ID. Supported values include: - By.ID: Locate by element ID. - By.NAME: Locate by the name attribute. - By.XPATH: Locate by an XPath expression. - By.CSS_SELECTOR: Locate by a CSS selector. - By.CLASS_NAME: Locate by the class attribute. - By.TAG_NAME: Locate by the tag name (e.g., “input”, “button”). - By.LINK_TEXT: Locate a link element by its exact text. - By.PARTIAL_LINK_TEXT: Locate a link element by partial text match. - RelativeBy: Locate elements relative to a specified root element.

Example:

element = driver.find_element(By.ID, ‘foo’)

Returns:

WebElement

The first matching WebElement found on the page.

find_elements(by='id', value: str | None = None) List[WebElement][source]

Find elements given a By strategy and locator.

Parameters:

byselenium.webdriver.common.by.By

The locating strategy to use. Default is By.ID. Supported values include: - By.ID: Locate by element ID. - By.NAME: Locate by the name attribute. - By.XPATH: Locate by an XPath expression. - By.CSS_SELECTOR: Locate by a CSS selector. - By.CLASS_NAME: Locate by the class attribute. - By.TAG_NAME: Locate by the tag name (e.g., “input”, “button”). - By.LINK_TEXT: Locate a link element by its exact text. - By.PARTIAL_LINK_TEXT: Locate a link element by partial text match. - RelativeBy: Locate elements relative to a specified root element.

Example:

element = driver.find_element(By.ID, ‘foo’)

Returns:

WebElement

list of WebElements matching locator strategy found on the page.

forward() None[source]

Goes one step forward in the browser history.

Example:

>>> driver.forward()
fullscreen_window() None[source]

Invokes the window manager-specific ‘full screen’ operation.

Example:

>>> driver.fullscreen_window()
get(url: str) None[source]

Navigate the browser to the specified URL in the current window or tab.

The method does not return until the page is fully loaded (i.e. the onload event has fired).

Parameters:

urlstr
  • The URL to be opened by the browser.

  • Must include the protocol (e.g., http://, https://).

Example:

>>> driver = webdriver.Chrome()
>>> driver.get("https://example.com")

Get a single cookie by name. Returns the cookie if found, None if not.

Example:

>>> cookie = driver.get_cookie('my_cookie')
get_cookies() List[dict][source]

Returns a set of dictionaries, corresponding to cookies visible in the current session.

Returns:

cookies:List[dict] : A list of dictionaries, corresponding to cookies visible in the current

Example:

>>> cookies = driver.get_cookies()
get_credentials() List[Credential][source]

Returns the list of credentials owned by the authenticator.

Example:

>>> credentials = driver.get_credentials()
get_downloadable_files() dict[source]

Retrieves the downloadable files as a map of file names and their corresponding URLs.

Example:

>>> files = driver.get_downloadable_files()
get_log(log_type)[source]

Gets the log for a given log type.

Parameters:

log_typestr
  • Type of log that which will be returned

Example:

>>> driver.get_log('browser')
>>> driver.get_log('driver')
>>> driver.get_log('client')
>>> driver.get_log('server')
get_pinned_scripts() List[str][source]

Return a list of all pinned scripts.

Example:

>>> pinned_scripts = driver.get_pinned_scripts()
get_screenshot_as_base64() str[source]

Gets the screenshot of the current window as a base64 encoded string which is useful in embedded images in HTML.

Example:

>>> driver.get_screenshot_as_base64()
get_screenshot_as_file(filename) bool[source]

Saves a screenshot of the current window to a PNG image file. Returns False if there is any IOError, else returns True. Use full paths in your filename.

Parameters:

filenamestr
  • The full path you wish to save your screenshot to. This

  • should end with a .png extension.

Example:

>>> driver.get_screenshot_as_file('/Screenshots/foo.png')
get_screenshot_as_png() bytes[source]

Gets the screenshot of the current window as a binary data.

Example:

>>> driver.get_screenshot_as_png()
get_window_position(windowHandle='current') dict[source]

Gets the x,y position of the current window.

Example:

>>> driver.get_window_position()
get_window_rect() dict[source]

Gets the x, y coordinates of the window as well as height and width of the current window.

Example:

>>> driver.get_window_rect()
get_window_size(windowHandle: str = 'current') dict[source]

Gets the width and height of the current window.

Example:

>>> driver.get_window_size()
implicitly_wait(time_to_wait: float) None[source]

Sets a sticky timeout to implicitly wait for an element to be found, or a command to complete. This method only needs to be called one time per session. To set the timeout for calls to execute_async_script, see set_script_timeout.

Parameters:

time_to_waitfloat
  • Amount of time to wait (in seconds)

Example:

>>> driver.implicitly_wait(30)
property log_types

Gets a list of the available log types. This only works with w3c compliant browsers.

Example:

>>> driver.log_types
maximize_window() None[source]

Maximizes the current window that webdriver is using.

Example:

>>> driver.maximize_window()
minimize_window() None[source]

Invokes the window manager-specific ‘minimize’ operation.

property mobile: Mobile
property name: str

Returns the name of the underlying browser for this instance.

Example:

>>> name = driver.name
property orientation

Gets the current orientation of the device.

Example:

>>> orientation = driver.orientation
property page_source: str

Gets the source of the current page.

Example:

>>> print(driver.page_source)
pin_script(script: str, script_key=None) ScriptKey[source]

Store common javascript scripts to be executed later by a unique hashable ID.

Example:

>>> script = "return document.getElementById('foo').value"
print_page(print_options: PrintOptions | None = None) str[source]

Takes PDF of the current page.

The driver makes a best effort to return a PDF based on the provided Parameters.

Example:

>>> driver.print_page()
refresh() None[source]

Refreshes the current page.

Example:

>>> driver.refresh()
remove_all_credentials() None[source]

Removes all credentials from the authenticator.

Example:

>>> driver.remove_all_credentials()
remove_credential(credential_id: str | bytearray) None[source]

Removes a credential from the authenticator.

Example:

>>> credential_id = "user@example.com"
>>> driver.remove_credential(credential_id)
remove_virtual_authenticator() None[source]

Removes a previously added virtual authenticator.

The authenticator is no longer valid after removal, so no methods may be called.

Example:

>>> driver.remove_virtual_authenticator()
save_screenshot(filename) bool[source]

Saves a screenshot of the current window to a PNG image file. Returns False if there is any IOError, else returns True. Use full paths in your filename.

Parameters:

filenamestr
  • The full path you wish to save your screenshot to. This

  • should end with a .png extension.

Example:

>>> driver.save_screenshot('/Screenshots/foo.png')
property script
set_page_load_timeout(time_to_wait: float) None[source]

Set the amount of time to wait for a page load to complete before throwing an error.

Parameters:
time_to_waitfloat
  • The amount of time to wait (in seconds)

>>> driver.set_page_load_timeout(30)
set_script_timeout(time_to_wait: float) None[source]

Set the amount of time that the script should wait during an execute_async_script call before throwing an error.

Parameters:

time_to_waitfloat
  • The amount of time to wait (in seconds)

Example:

>>> driver.set_script_timeout(30)
set_user_verified(verified: bool) None[source]

Sets whether the authenticator will simulate success or fail on user verification.

Parameters:

verified: True if the authenticator will pass user verification, False otherwise.

Example:

>>> driver.set_user_verified(True)
set_window_position(x: float, y: float, windowHandle: str = 'current') dict[source]

Sets the x,y position of the current window. (window.moveTo)

Parameters:

xfloat
  • The x-coordinate in pixels to set the window position

yfloat
  • The y-coordinate in pixels to set the window position

Example:

>>> driver.set_window_position(0,0)
set_window_rect(x=None, y=None, width=None, height=None) dict[source]

Sets the x, y coordinates of the window as well as height and width of the current window. This method is only supported for W3C compatible browsers; other browsers should use set_window_position and set_window_size.

Example:

>>> driver.set_window_rect(x=10, y=10)
>>> driver.set_window_rect(width=100, height=200)
>>> driver.set_window_rect(x=10, y=10, width=100, height=200)
set_window_size(width, height, windowHandle: str = 'current') None[source]

Sets the width and height of the current window. (window.resizeTo)

Parameters:

widthint
  • the width in pixels to set the window to

heightint
  • the height in pixels to set the window to

Example:

>>> driver.set_window_size(800,600)
start_client()[source]

Called before starting a new session.

This method may be overridden to define custom startup behavior.

start_devtools()[source]
start_session(capabilities: dict) None[source]

Creates a new session with the desired capabilities.

Parameters:

capabilitiesdict
  • A capabilities dict to start the session with.

stop_client()[source]

Called after executing a quit command.

This method may be overridden to define custom shutdown behavior.

property supports_fedcm: bool

Returns whether the browser supports FedCM capabilities.

Example:

>>> print(driver.supports_fedcm)
property switch_to: SwitchTo

Return an object containing all options to switch focus into.

Returns:

SwitchTo: an object containing all options to switch focus into.

Examples:

>>> element = driver.switch_to.active_element
>>> alert = driver.switch_to.alert
>>> driver.switch_to.default_content()
>>> driver.switch_to.frame('frame_name')
>>> driver.switch_to.frame(1)
>>> driver.switch_to.frame(driver.find_elements(By.TAG_NAME, "iframe")[0])
>>> driver.switch_to.parent_frame()
>>> driver.switch_to.window('main')
property timeouts: Timeouts

Get all the timeouts that have been set on the current session.

Returns:

Timeouts: A named tuple with the following fields:
  • implicit_wait: The time to wait for elements to be found.

  • page_load: The time to wait for a page to load.

  • script: The time to wait for scripts to execute.

Example:

>>> driver.timeouts
property title: str

Returns the title of the current page.

Example:

>>> element = driver.find_element(By.ID, 'foo')
>>> print(element.title())
unpin(script_key: ScriptKey) None[source]

Remove a pinned script from storage.

Example:

>>> driver.unpin(script_key)
property virtual_authenticator_id: str

Returns the id of the virtual authenticator.

Example:

>>> print(driver.virtual_authenticator_id)
property window_handles: List[str]

Returns the handles of all windows within the current session.

Example:

>>> print(driver.window_handles)