selenium.webdriver.firefox.webdriver¶
Classes
|
Starts a new local session of Firefox. |
- class selenium.webdriver.firefox.webdriver.WebDriver(firefox_profile=None, firefox_binary=None, capabilities=None, proxy=None, executable_path='geckodriver', options=None, service_log_path='geckodriver.log', service_args=None, service=None, desired_capabilities=None, log_path=None, keep_alive=True)[source]¶
Starts a new local session of Firefox.
Based on the combination and specificity of the various keyword arguments, a capabilities dictionary will be constructed that is passed to the remote end.
The keyword arguments given to this constructor are helpers to more easily allow Firefox WebDriver sessions to be customised with different options. They are mapped on to a capabilities dictionary that is passed on to the remote end.
As some of the options, such as firefox_profile and options.profile are mutually exclusive, precedence is given from how specific the setting is. capabilities is the least specific keyword argument, followed by options, followed by firefox_binary and firefox_profile.
In practice this means that if firefox_profile and options.profile are both set, the selected profile instance will always come from the most specific variable. In this case that would be firefox_profile. This will result in options.profile to be ignored because it is considered a less specific setting than the top-level firefox_profile keyword argument. Similarly, if you had specified a capabilities[“moz:firefoxOptions”][“profile”] Base64 string, this would rank below options.profile.
- Parameters:
firefox_profile – Deprecated: Instance of
FirefoxProfile
object or a string. If undefined, a fresh profile will be created in a temporary location on the system.firefox_binary – Deprecated: Instance of
FirefoxBinary
or full path to the Firefox binary. If undefined, the system default Firefox installation will be used.capabilities – Deprecated: Dictionary of desired capabilities.
proxy – Deprecated: The proxy settings to use when communicating with Firefox via the extension connection.
executable_path – Deprecated: Full path to override which geckodriver binary to use for Firefox 47.0.1 and greater, which defaults to picking up the binary from the system path.
options – Instance of
options.Options
.service – (Optional) service instance for managing the starting and stopping of the driver.
service_log_path – Deprecated: Where to log information from the driver.
service_args – Deprecated: List of args to pass to the driver service
desired_capabilities – Deprecated: alias of capabilities. In future versions of this library, this will replace ‘capabilities’. This will make the signature consistent with RemoteWebDriver.
keep_alive – Whether to configure remote_connection.RemoteConnection to use HTTP keep-alive.
- CONTEXT_CHROME = 'chrome'¶
- CONTEXT_CONTENT = 'content'¶
- property firefox_profile¶
- context(context)[source]¶
Sets the context that Selenium commands are running in using a with statement. The state of the context on the server is saved before entering the block, and restored upon exiting it.
- Parameters:
context – Context, may be one of the class properties CONTEXT_CHROME or CONTEXT_CONTENT.
Usage example:
with selenium.context(selenium.CONTEXT_CHROME): # chrome scope ... do stuff ...
- install_addon(path, temporary=False) str [source]¶
Installs Firefox addon.
Returns identifier of installed addon. This identifier can later be used to uninstall addon.
- Parameters:
path – Absolute path to the addon that will be installed.
- Usage:
driver.install_addon('/path/to/firebug.xpi')
- add_cookie(cookie_dict) None [source]¶
Adds a cookie to your current session.
- Args:
- cookie_dict: A dictionary object, with required keys - “name” and “value”;
optional keys - “path”, “domain”, “secure”, “httpOnly”, “expiry”, “sameSite”
- Usage:
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.
- add_virtual_authenticator(options: VirtualAuthenticatorOptions) None [source]¶
Adds a virtual authenticator with the given options.
- property application_cache¶
Returns a ApplicationCache Object to interact with the browser app cache.
- property capabilities: dict¶
returns the drivers current capabilities being used.
- 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.
- Usage:
driver.current_url
- property current_window_handle: str¶
Returns the handle of the current window.
- Usage:
driver.current_window_handle
- delete_all_cookies() None [source]¶
Delete all cookies in the scope of the session.
- Usage:
driver.delete_all_cookies()
- delete_cookie(name) None [source]¶
Deletes a single cookie with the given name.
- Usage:
driver.delete_cookie('my_cookie')
- property desired_capabilities: dict¶
returns the drivers current desired capabilities being used.
- execute(driver_command: str, params: dict = None) dict [source]¶
Sends a command to be executed by a command.CommandExecutor.
- Args:
driver_command: The name of the command to execute as a string.
params: A dictionary of named parameters to send with the command.
- Returns:
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.
- Args:
script: The JavaScript to execute.
*args: Any applicable arguments for your JavaScript.
- Usage:
script = "var callback = arguments[arguments.length - 1]; " \ "window.setTimeout(function(){ callback('timeout') }, 3000);" driver.execute_async_script(script)
- execute_script(script, *args)[source]¶
Synchronously Executes JavaScript in the current window/frame.
- Args:
script: The JavaScript to execute.
*args: Any applicable arguments for your JavaScript.
- Usage:
driver.execute_script('return document.title;')
- 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.
Example:
- with webdriver.file_detector_context(UselessFileDetector):
someinput.send_keys(‘/etc/hosts’)
- Args:
- file_detector_class - 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.
- args - Optional arguments that get passed to the file detector class during
instantiation.
kwargs - Keyword arguments, passed the same way as args.
- find_element(by='id', value: Optional[str] = None) WebElement [source]¶
Find an element given a By strategy and locator.
- Usage:
element = driver.find_element(By.ID, 'foo')
- Return type:
- find_elements(by='id', value: Optional[str] = None) List[WebElement] [source]¶
Find elements given a By strategy and locator.
- Usage:
elements = driver.find_elements(By.CLASS_NAME, 'foo')
- Return type:
list of WebElement
- get_cookie(name) Optional[Dict] [source]¶
Get a single cookie by name. Returns the cookie if found, None if not.
- Usage:
driver.get_cookie('my_cookie')
- get_cookies() List[dict] [source]¶
Returns a set of dictionaries, corresponding to cookies visible in the current session.
- Usage:
driver.get_cookies()
- get_credentials() List[Credential] [source]¶
Returns the list of credentials owned by the authenticator.
- get_log(log_type)[source]¶
Gets the log for a given log type.
- Args:
log_type: type of log that which will be returned
- Usage:
driver.get_log('browser') driver.get_log('driver') driver.get_log('client') driver.get_log('server')
- 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.
- Usage:
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.
- Args:
filename: The full path you wish to save your screenshot to. This should end with a .png extension.
- Usage:
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.
- Usage:
driver.get_screenshot_as_png()
- get_window_position(windowHandle='current') dict [source]¶
Gets the x,y position of the current window.
- Usage:
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.
- Usage:
driver.get_window_rect()
- get_window_size(windowHandle: str = 'current') dict [source]¶
Gets the width and height of the current window.
- Usage:
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.
- Args:
time_to_wait: Amount of time to wait (in seconds)
- Usage:
driver.implicitly_wait(30)
- property log_types¶
Gets a list of the available log types. This only works with w3c compliant browsers.
- Usage:
driver.log_types
- property name: str¶
Returns the name of the underlying browser for this instance.
- Usage:
name = driver.name
- property orientation¶
Gets the current orientation of the device.
- Usage:
orientation = driver.orientation
- property page_source: str¶
Gets the source of the current page.
- Usage:
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.
- print_page(print_options: Optional[PrintOptions] = None) str [source]¶
Takes PDF of the current page.
The driver makes a best effort to return a PDF based on the provided parameters.
- remove_credential(credential_id: Union[str, bytearray]) None [source]¶
Removes a credential from the authenticator.
- 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.
- 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.
- Args:
filename: The full path you wish to save your screenshot to. This should end with a .png extension.
- Usage:
driver.save_screenshot('/Screenshots/foo.png')
- 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.
- Args:
time_to_wait: The amount of time to wait
- Usage:
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.
- Args:
time_to_wait: The amount of time to wait (in seconds)
- Usage:
driver.set_script_timeout(30)
- set_user_verified(verified: bool) None [source]¶
Sets whether the authenticator will simulate success or fail on user verification.
verified: True if the authenticator will pass user verification, False otherwise.
- set_window_position(x, y, windowHandle: str = 'current') dict [source]¶
Sets the x,y position of the current window. (window.moveTo)
- Args:
x: the x-coordinate in pixels to set the window position
y: the y-coordinate in pixels to set the window position
- Usage:
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.
- Usage:
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)
- Args:
width: the width in pixels to set the window to
height: the height in pixels to set the window to
- Usage:
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_session(capabilities: dict, browser_profile=None) None [source]¶
Creates a new session with the desired capabilities.
- Args:
capabilities - a capabilities dict to start the session with.
browser_profile - A selenium.webdriver.firefox.firefox_profile.FirefoxProfile object. Only used if Firefox is requested.
- stop_client()[source]¶
Called after executing a quit command.
This method may be overridden to define custom shutdown behavior.
- property switch_to: SwitchTo¶
- Returns:
SwitchTo: an object containing all options to switch focus into
- Usage:
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.
- Usage:
- ::
driver.timeouts
- Return type:
Timeout
- property title: str¶
Returns the title of the current page.
- Usage:
title = driver.title
- uninstall_addon(identifier) None [source]¶
Uninstalls Firefox addon using its identifier.
- Usage:
driver.uninstall_addon('addon@foo.com')
- property virtual_authenticator_id: str¶
Returns the id of the virtual authenticator.
- property window_handles: List[str]¶
Returns the handles of all windows within the current session.
- Usage:
driver.window_handles
- get_full_page_screenshot_as_file(filename) bool [source]¶
Saves a full document 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.
- Args:
filename: The full path you wish to save your screenshot to. This should end with a .png extension.
- Usage:
driver.get_full_page_screenshot_as_file('/Screenshots/foo.png')
- save_full_page_screenshot(filename) bool [source]¶
Saves a full document 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.
- Args:
filename: The full path you wish to save your screenshot to. This should end with a .png extension.
- Usage:
driver.save_full_page_screenshot('/Screenshots/foo.png')