Hound.Helpers.Page
Summary
element_in_focus() | Gets element on page that is currently in focus |
find_all_elements(strategy, selector, retries \\ 5) | Finds elements on current page. Returns an array of element IDs that can be used with other element functions |
find_all_within_element(element_id, strategy, selector, retries \\ 5) | Finds elements within a specific element. Returns an array of element IDs that can be used with other element functions |
find_element(strategy, selector, retries \\ 5) | Finds element on current page. It returns an element ID that can be used with other element functions |
find_within_element(element_id, strategy, selector, retries \\ 5) | Finds element within a specific element. Returns an element ID to use with element helper functions |
page_source() | Gets the HTML source of current page |
page_title() | Gets the title of the current page |
send_keys(keys) | Send sequence of key strokes to active element. The keys are accepted as a list of atoms |
send_text(keys) | Send character keys to active element |
with_keys(keys, blocks) | Holds on to the spcified modifier keys when the block is executing |
Functions
Specs:
Finds elements on current page. Returns an array of element IDs that can be used with other element functions.
- The first argument is the strategy.
- The second argument is the selector.
Valid selector strategies are :css
, :class
, :id
, :name
, :tag
, :xpath
, :link_text
and :partial_link_text
find_elements(:name, "username")
find_elements(:class, "example")
find_elements(:id, "example")
find_elements(:css, ".example")
find_elements(:tag, "footer")
find_elements(:link_text, "Home")
Specs:
Finds elements within a specific element. Returns an array of element IDs that can be used with other element functions.
- The first argument is the element ID of the element within which you want to search.
- The second argument is the strategy.
- The third argument is the selector.
Valid selector strategies are :css
, :class
, :id
, :name
, :tag
, :xpath
, :link_text
and :partial_link_text
# First get an element ID to search within
parent_element_id = find_element(:class, "container")
find_all_within_element(parent_element_id, :name, "username")
find_all_within_element(parent_element_id, :class, "example")
find_all_within_element(parent_element_id, :id, "example")
find_all_within_element(parent_element_id, :css, ".example")
find_all_within_element(parent_element_id, :tag, "footer")
find_all_within_element(parent_element_id, :link_text, "Home")
Specs:
Finds element on current page. It returns an element ID that can be used with other element functions.
- The first argument is the strategy.
- The second argument is the selector.
Valid selector strategies are :css
, :class
, :id
, :name
, :tag
, :xpath
, :link_text
and :partial_link_text
find_element(:name, "username")
find_element(:class, "example")
find_element(:id, "example")
find_element(:css, ".example")
find_element(:tag, "footer")
find_element(:link_text, "Home")
Specs:
Finds element within a specific element. Returns an element ID to use with element helper functions.
- The first argument is the element ID of the element within which you want to search.
- The second argument is the strategy.
- The third argument is the selector.
Valid selector strategies are :css
, :class
, :id
, :name
, :tag
, :xpath
, :link_text
and :partial_link_text
# First get an element ID to search within
parent_element_id = find_element(:class, "container")
find_within_element(parent_element_id, :name, "username")
find_within_element(parent_element_id, :class, "example")
find_within_element(parent_element_id, :id, "example")
find_within_element(parent_element_id, :css, ".example")
find_within_element(parent_element_id, :tag, "footer")
find_within_element(parent_element_id, :link_text, "Home")
Specs:
- send_keys(List.t | atom) :: :ok
Send sequence of key strokes to active element. The keys are accepted as a list of atoms.
send_keys :backspace
send_keys :tab
If you send the modifier keys shift, control, alt and command,
they are held on and not released until you send the :null
key.
To perform other actions while holding on to modifier keys, use the with_keys
macro.
The following are the atoms representing the keys:
- :alt - alt key
- :shift - shift key
- :command - command key (or meta key)
- :control - control key
- :escape - escape key
- :backspace - backspace key
- :tab - tab key
- :clear - clear
- :return - return key
- :enter - enter key
- :cancel - cancel key
- :help - help key
- :pause - pause key
- :num0 - numpad 0
- :num1 - numpad 1
- :num2 - numpad 2
- :num3 - numpad 3
- :num4 - numpad 4
- :num5 - numpad 5
- :num6 - numpad 6
- :num7 - numpad 7
- :num8 - numpad 8
- :num9 - numpad 9
- :add - add key
- :subtract - subtract key
- :multiply - multiply key
- :divide - divide key
- :seperator - seperator key
Macros
Holds on to the spcified modifier keys when the block is executing.
# Simulates Ctrl + e
with_keys :control do
send_text "e"
end
# Simulates Ctrl + Shift + e
with_keys [:control, :shift] do
send_text "e"
end
The following are the modifier keys:
- :alt - alt key
- :shift - shift key
- :command - command key (or meta key)
- :control - control key
- :escape - escape key