WebDriver class¶
class GolemExtendedDriver()¶
This class represents a browser. It extends selenium.webdriver.remote.webdriver.WebDriver.
Methods and Properties¶
accept_alert(ignore_not_present=False) [Golem]¶
Accepts alert.
Args:
- ignore_not_present: ignore NoAlertPresentException
add_cookie(cookie_dict) [Selenium]¶
Adds a cookie to your current session.
Args:
- cookie_dict: A dictionary object, with required keys - “name” and “value”; optional keys - “path”, “domain”, “secure”, “expiry”
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})
alert_is_present() [Golem]¶
Returns whether an alert is present
application_cache [Selenium]¶
Returns a ApplicationCache Object to interact with the browser app cache
check_element(element) [Golem]¶
Check an element (checkbox or radiobutton). If element is already checked this is ignored.
Args:
- element: an element tuple, a CSS string or a WebElement object
close_window_by_index(index) [Golem]¶
Close window/tab by index. Note: “The order in which the window handles are returned is arbitrary.”
Args:
- index: index of the window to close from window_handles
close_window_by_partial_title(partial_title) [Golem]¶
Close window/tab by partial title
close_window_by_partial_url(partial_url) [Golem]¶
Close window/tab by partial url
close_window_by_title(title) [Golem]¶
Close window/tab by title
close_window_by_url(url) [Golem]¶
Close window/tab by URL
close_window_switch_back(close_handle) [Golem]¶
Close a window/tab by handle and switch back to current handle. If current handle is the same as close_handle, try to switch to the first available window/tab.
create_web_element(element_id) [Selenium]¶
Creates a web element with the specified element_id.
current_window_handle [Selenium]¶
Returns the handle of the current window.
Usage:
driver.current_window_handle
delete_all_cookies() [Selenium]¶
Delete all cookies in the scope of the session.
Usage:
driver.delete_all_cookies()
delete_cookie(name) [Selenium]¶
Deletes a single cookie with the given name.
Usage:
driver.delete_cookie(‘my_cookie’)
desired_capabilities [Selenium]¶
returns the drivers current desired capabilities being used
dismiss_alert(ignore_not_present=False) [Golem]¶
Dismiss alert.
Args:
- ignore_not_present: ignore NoAlertPresentException
element_is_present(element) [Golem]¶
If element is present, return the element. If element is not present return False
Args:
- element: an element tuple, a CSS string or a WebElement object
execute(driver_command, params=None) [Selenium]¶
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, *args) [Selenium]¶
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) [Selenium]¶
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;’)
file_detector_context(file_detector_class, *args, **kwargs) [Selenium]¶
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=None, id=None, name=None, link_text=None, partial_link_text=None, css=None, xpath=None, tag_name=None, timeout=None, wait_displayed=None, highlight=None) [Golem]¶
Find a WebElement
Search criteria:
- The first argument must be: an element tuple, a CSS string, an XPath string, or a WebElement object.
- Keyword search criteria: id, name, link_text, partial_link_text, css, xpath, tag_name.
- Only one search criteria should be provided.
Other args:
- timeout: timeout (in seconds) to wait for element to be present. by default it uses the search_timeout setting value
- wait_displayed: wait for element to be displayed (visible). By default uses the wait_displayed setting value
- highlight: highlights element on the page when found
Usage:
driver.find('div#someId > input.class')
driver.find(('id', 'someId'))
driver.find(id='someId')
driver.find(xpath='//div/input', timeout=5, wait_displayed=True)
Returns:
A golem.webdriver.extended_webelement.ExtendedRemoteWebElement
Described in more detail here.
find_all(element=None, id=None, name=None, link_text=None, partial_link_text=None, css=None, xpath=None, tag_name=None) [Golem]¶
Find all WebElements that match the search criteria.
Search criteria:
- The first argument must be: an element tuple, a CSS string, or an XPath string.
- Keyword search criteria: id, name, link_text, partial_link_text, css, xpath, tag_name
- Only one search criteria should be provided.
Usage:
driver.find_all('div#someId > span.class')
driver.find(('tag_name', 'input'))
driver.find(xpath='//div/input')
Returns a list of ExtendedRemoteWebElement
Described in more detail here.
find_element_by_css_selector(css_selector) [Selenium]¶
Finds an element by css selector.
Use find instead.
find_element_by_partial_link_text(link_text) [Selenium]¶
Finds an element by a partial match of its link text.
Use find instead.
find_elements_by_css_selector(css_selector) [Selenium]¶
Finds elements by css selector.
Use find_all instead.
find_elements_by_partial_link_text(link_text) [Selenium]¶
Finds elements by a partial match of their link text.
Use find_all instead.
fullscreen_window() [Selenium]¶
Invokes the window manager-specific ‘full screen’ operation
get(url) [Selenium]¶
Loads a web page in the current browser session.
get_cookie(name) [Selenium]¶
Get a single cookie by name. Returns the cookie if found, None if not.
Usage:
driver.get_cookie(‘my_cookie’)
get_cookies() [Selenium]¶
Returns a set of dictionaries, corresponding to cookies visible in the current session.
Usage:
driver.get_cookies()
get_log(log_type) [Selenium]¶
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() [Selenium]¶
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) [Selenium]¶
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() [Selenium]¶
Gets the screenshot of the current window as a binary data.
Usage:
driver.get_screenshot_as_png()
get_window_index() [Golem]¶
Get the index of the current window/tab
get_window_position(windowHandle=’current’) [Golem]¶
Gets the x,y position of the current window.
Usage: driver.get_window_position()
get_window_rect() [Selenium]¶
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=’current’) [Selenium]¶
Gets the width and height of the current window.
Usage: driver.get_window_size()
get_window_titles() [Golem]¶
Return a list of the titles of all open windows/tabs
get_window_urls() [Golem]¶
Return a list of the URLs of all open windows/tabs
implicitly_wait(time_to_wait) [Selenium]¶
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)
Use search_timeout setting instead.
maximize_window() [Selenium]¶
Maximizes the current window that webdriver is using
minimize_window() [Selenium]¶
Invokes the window manager-specific ‘minimize’ operation
name [Selenium]¶
Returns the name of the underlying browser for this instance.
orientation [Selenium]¶
Gets the current orientation of the device
page_source [Selenium]¶
Gets the source of the current page.
quit() [Selenium]¶
Quits the driver and closes every associated window.
refresh() [Selenium]¶
Refreshes the current page.
save_screenshot(filename) [Selenium]¶
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) [Selenium]¶
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) [Selenium]¶
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_window_position(x, y, windowHandle=’current’) [Selenium]¶
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) [Selenium]¶
Sets the x, y coordinates of the window as well as height and width of the current window.
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=’current’) [Selenium]¶
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() [Selenium]¶
Called before starting a new session. This method may be overridden to define custom startup behavior.
start_session(capabilities, browser_profile=None) [Selenium]¶
Creates a new session with the desired capabilities.
Args:
- browser_name - The name of the browser to request.
- version - Which browser version to request.
- platform - Which platform to request the browser on.
- javascript_enabled - Whether the new session should support JavaScript.
- browser_profile - A selenium.webdriver.firefox.firefox_profile.FirefoxProfile object. Only used if Firefox is requested.
stop_client() [Selenium]¶
Called after executing a quit command. This method may be overridden to define custom shutdown behavior.
switch_to [Selenium]¶
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')
switch_to_active_element() [Selenium]¶
Deprecated use driver.switch_to.active_element
switch_to_alert() [Selenium]¶
Deprecated use driver.switch_to.alert
switch_to_default_content() [Selenium]¶
Deprecated use driver.switch_to.default_content
switch_to_first_window() [Golem]¶
Switch to first window/tab
switch_to_frame(frame_reference) [Selenium]¶
Deprecated use driver.switch_to.frame
switch_to_last_window() [Golem]¶
Switch to last window/tab
switch_to_next_window() [Golem]¶
Switch to next window/tab in the list of window handles. If current window is the last in the list this will circle back from the start.
switch_to_previous_window() [Golem]¶
Switch to previous window/tab in the list of window handles. If current window is the first in the list this will circle back from the top.
switch_to_window(window_name) [Selenium]¶
Deprecated use driver.switch_to.window
switch_to_window_by_index(index) [Golem]¶
Switch to window/tab by index. Note: “The order in which the window handles are returned is arbitrary.”
switch_to_window_by_partial_title(partial_title) [Golem]¶
Switch to window/tab by partial title
switch_to_window_by_partial_url(partial_url) [Golem]¶
Switch to window/tab by partial URL
switch_to_window_by_title(title) [Golem]¶
Switch to window/tab by title
switch_to_window_by_url(url) [Golem]¶
Switch to window/tab by URL
uncheck_element(element) [Golem]¶
Uncheck a checkbox element. If element is already unchecked this is ignored.
Args
- element: an element tuple, a CSS string or a WebElement object
wait_for_alert_present(timeout) [Golem]¶
Wait for an alert to be present
Args:
- timeout: time to wait (in seconds)
wait_for_element_displayed(element, timeout) [Golem]¶
Wait for element to be present and displayed
Args:
- element: an element tuple, a CSS string or a WebElement object
- timeout: time to wait (in seconds)
wait_for_element_enabled(element, timeout) [Golem]¶
Wait for element to be enabled
Args:
- element: an element tuple, a CSS string or a WebElement object
- timeout: time to wait (in seconds)
wait_for_element_has_attribute(element, attribute, timeout) [Golem]¶
Wait for element to have attribute
Args:
- element: an element tuple, a CSS string or a WebElement object
- attribute: attribute name
- timeout: time to wait (in seconds)
Usage:
driver.wait_for_element_has_attribute(’#someId’, ‘onclick’, 5)
wait_for_element_has_not_attribute(element, attribute, timeout) [Golem]¶
Wait for element to not have attribute
Args:
- element: an element tuple, a CSS string or a WebElement object
- attribute: attribute name
- timeout: time to wait (in seconds)
Usage: driver.wait_for_element_has_not_attribute(’#someId’, ‘onclick’, 5)
wait_for_element_not_displayed(element, timeout) [Golem]¶
Wait for element to be not displayed. When element is not displayed this is ignored. When element is not present this will raise ElementNotFound.
Args:
- element: an element tuple, a CSS string or a WebElement object
- timeout: time to wait (in seconds)
wait_for_element_not_enabled(element, timeout) [Golem]¶
Wait for element to be not enabled
Args:
- element: an element tuple, a CSS string or a WebElement object
- timeout: time to wait (in seconds)
wait_for_element_not_present(element, timeout) [Golem]¶
Wait for element not present in the DOM
Args:
- element: an element tuple, a CSS string or a WebElement object
- timeout: time to wait (in seconds)
wait_for_element_present(element, timeout) [Golem]¶
Wait for element present in the DOM
Args:
- element: an element tuple, a CSS string or a WebElement object
- timeout: time to wait (in seconds)
wait_for_element_text(element, text, timeout) [Golem]¶
Wait for element text to match given text
Args:
- element: an element tuple, a CSS string or a WebElement object
- text: expected element text to be
- timeout: time to wait (in seconds)
wait_for_element_text_contains(element, text, timeout) [Golem]¶
Wait for element to contain text
Args:
- element: an element tuple, a CSS string or a WebElement object
- text: expected element to be contained by element
- timeout: time to wait (in seconds)
wait_for_element_text_is_not(element, text, timeout) [Golem]¶
Wait for element text to not match given text
Args:
- element: an element tuple, a CSS string or a WebElement object
- text: expected text to not be element’s text
- timeout: time to wait (in seconds)
wait_for_element_text_not_contains(element, text, timeout) [Golem]¶
Wait for element to not contain text
Args:
- element: an element tuple, a CSS string or a WebElement object
- text: expected text to not be contained in element
- timeout: time to wait (in seconds)
wait_for_page_contains_text(text, timeout) [Golem]¶
Wait for page to contains text
Args:
- text: text to be contained in page source
- timeout: time to wait (in seconds)
wait_for_page_not_contains_text(text, timeout) [Golem]¶
Wait for page to not contain text
Args:
- text: text to not be contained in page source
- timeout: time to wait (in seconds)
wait_for_title(title, timeout) [Golem]¶
Wait for page title to be the given value
Args:
- title: expected title
- timeout: time to wait (in seconds)
wait_for_title_contains(partial_title, timeout) [Golem]¶
Wait for page title to contain partial_title
Args:
- partial_title: expected partial title
- timeout: time to wait (in seconds)
wait_for_title_is_not(title, timeout) [Golem]¶
Wait for page title to not be the given value
Args:
- title: not expected title
- timeout: time to wait (in seconds)
wait_for_title_not_contains(partial_title, timeout) [Golem]¶
Wait for page title to not contain partial_title
Args:
- partial_title: not expected partial title
- timeout: time to wait (in seconds)
wait_for_window_present_by_partial_title(partial_title, timeout) [Golem]¶
Wait for window/tab present by partial title
wait_for_window_present_by_partial_url(partial_url, timeout) [Golem]¶
Wait for window/tab present by partial url
wait_for_window_present_by_title(title, timeout) [Golem]¶
Wait for window/tab present by title
wait_for_window_present_by_url(url, timeout) [Golem]¶
Wait for window/tab present by url
window_handles [Selenium]¶
Returns the handles of all windows within the current session.
Usage: driver.window_handles