HandshakeBrowser¶
-
class
autohandshake.
HandshakeBrowser
(max_wait_time: int = 300)¶ An automated browser for navigating Handshake.
Since a logged-in instance of this class is returned by HandshakeSession’s __enter__ method, it does not usually need to be manually instantiated. Additionally, for most use cases, the user only needs to pass a HandshakeBrowser object to a Page object, then let the Page’s methods do the heavy-lifting.
For example, you almost never need to write:
browser = HandshakeBrowser()
The vast majority of use cases look something like:
with HandshakeSession(school_url, email, password) as browser: some_page = SomePage(browser) some_page.do_something()
If you need to specify a custom max_wait_time, that can be done through the HandshakeSession object:
# this with HandshakeSession(school_url, email, password, max_wait_time = 60) as browser: some_page = SomePage(browser) # not this browser = HandshakeBrowser(max_wait_time = 60)
Parameters: max_wait_time (int) – the maximum time (in seconds) to wait for an element to load before throwing a timeout error -
click_element_by_xpath
(xpath)¶ Click an element on the page given its xpath
Parameters: xpath (str) – the xpath of the element to click
-
current_url
¶ Get the url of the browser’s current page
-
element_exists_by_xpath
(xpath: str) → bool¶ Determine whether or not an element with the given xpath exists in the page.
Parameters: xpath (str) – the xpath of the element to search for Returns: True if the element exists, false otherwise Return type: bool
-
element_is_selected_by_xpath
(xpath: str) → bool¶ Get whether or not the element specified by the given xpath is selected
Parameters: xpath (str) – the xpath of the elements of interest Returns: True if the element is selected, False otherwise Return type: bool
-
execute_script_on_element_by_xpath
(script: str, xpath: str = None)¶ Execute the given javascript expression. If xpath of element is provided, the element becomes available to use in the script, and can be accessed using arguments[0].
Parameters: - script (str) – the javascript to be executed
- xpath (str) – the xpath of the optional element to be passed to the script
-
get
(url: str)¶ Go to the web page specified by the given Handshake url.
Parameters: url (str) – the url to visit. Must be of the form “https://[…].joinhandshake.com[/…]”
-
get_element_attribute_by_xpath
(xpath: str, attribute: str) → str¶ Get the value of the given attribute from the element with the given xpath
Parameters: - xpath (str) – the xpath of the element of interest
- attribute (str) – the name of the attribute of interest, e.g. ‘value’
Returns: the value of the attribute on the element of interest
Return type: str
-
get_elements_attribute_by_xpath
(xpath: str, attribute: str) → list¶ Get the value of a given attribute for all elements with the given xpath
Parameters: - xpath (str) – the xpath of the elements of interest
- attribute (str) – the name of the attribute of interest, e.g. ‘value’
Returns: a list of values of the given attribute for each matching element
Return type: list
-
maximize_window
()¶ Maximize the browser window.
-
quit
()¶ Close the browser
-
record_school_id
()¶ Record the school’s Handshake ID from a link in the main sidebar
-
return_to_main_tab
()¶ With a second tab open, close the current tab and return to the main tab.
-
send_text_to_element_by_xpath
(xpath: str, text: str, clear: bool = True)¶ Send a string to an input field identified by the given xpath
Parameters: - text (str) – the text to send
- xpath (str) – the xpath of the input field to which to send the text
- clear (bool) – whether or not to clear the field before sending text. If False, text will be appended to any text already present.
-
switch_to_new_tab
()¶ Wait for the new tab to finish loaded, then switch to it.
-
wait_then_click_element_by_xpath
(xpath)¶ Click an element on the page given its xpath after waiting to make sure it exists
Parameters: xpath (str) – the xpath of the element to click
-
wait_until_element_does_not_exist_by_xpath
(xpath: str)¶ Wait until an element with the given xpath exists on the page.
Parameters: xpath (str) – the xpath of the element to wait for
-
wait_until_element_exists_by_xpath
(xpath: str)¶ Wait until an element with the given xpath exists on the page.
Parameters: xpath (str) – the xpath of the element to wait for
-
wait_until_element_is_clickable_by_xpath
(xpath: str)¶ Wait until an element with the given xpath is clickable.
Parameters: xpath (str) – the xpath of the element to wait for
-