etaoin.api
(source)A wrapper over the [W3C WebDriver Specification](https://www.w3.org/TR/webdriver/) to automate popular browsers.
Tries to normalize differences across the various implementations.
See the [User Guide](/doc/01-user-guide.adoc) for details and examples.
This is a rich API:
**WebDriver**
- [[with-driver]] [[boot-driver]] [[defaults]] [[defaults-global]] [[when-not-drivers]]
- [[with-chrome]] [[with-chrome-headless]] [[chrome]] [[chrome-headless]] [[chrome?]] [[when-chrome]] [[when-not-chrome]]
- [[with-edge]] [[with-edge-headless]] [[edge]] [[edge-headless]] [[when-edge]] [[when-not-edge]]
- [[with-firefox]] [[with-firefox-headless]] [[firefox]] [[firefox-headless]] [[firefox?]] [[when-firefox]] [[when-not-firefox]]
- [[with-phantom]] [[phantom]] [[phantom?]] [[when-phantom]] [[when-not-phantom]]
- [[with-safari]] [[safari]] [[safari?]] [[when-safari]] [[when-not-safari]]
- [[driver?]] [[running?]] [[headless?]] [[when-headless]] [[when-not-headless]]
- [[disconnect-driver]] [[stop-driver]] [[quit]]
**WebDriver Lower Level Comms**
- [[execute]] [[with-http-error]]
**Driver Sessions**
- [[get-status]] [[create-session]] [[delete-session]]
**Querying/Selecting DOM Elements**
- [[query]] [[query-all]] [[query-tree]]
- [[exists?]] [[absent?]]
- [[displayed?]] [[displayed-el?]] [[enabled?]] [[enabled-el?]] [[disabled?]] [[invisible?]] [[visible?]]
- [[child]] [[children]]
- [[get-element-tag]] [[get-element-tag-el]]
- [[get-element-attr]] [[get-element-attr-el]] [[get-element-attrs]]
- [[get-element-property]] [[get-element-property-el]] [[get-element-properties]]
- [[has-class?]] [[has-class-el?]] [[has-no-class?]]
- [[get-element-css]] [[get-element-css-el]] [[get-element-csss]]
- [[get-element-text]] [[get-element-text-el]] [[has-text?]]
- [[get-element-inner-html]] [[get-element-inner-html-el]]
- [[get-element-value]] [[get-element-value-el]]
- [[get-element-size]] [[get-element-size-el]] [[get-element-location]] [[get-element-location-el]] [[get-element-box]] [[intersects?]]
- [[use-css]] [[with-css]] [[use-xpath]] [[with-xpath]]
**Browser Navigation**
- [[go]] [[get-url]] [[get-hash]] [[set-hash]]
- [[back]] [[forward]]
- [[refresh]] [[reload]]
**Mouse/Pointer**
- [[click]] [[click-el]] [[click-single]] [[click-multi]]
- [[left-click]] [[left-click-on]]
- [[middle-click]] [[middle-click-on]]
- [[right-click]] [[right-click-on]]
- [[mouse-click]] [[mouse-move-to]] [[mouse-click-on]]
- [[double-click]] [[double-click-el]]
- [[drag-and-drop]] [[mouse-btn-down]] [[mouse-btn-up]]
- [[touch-down]] [[touch-move]] [[touch-tap]] [[touch-up]]
**Inputs/Forms**
- [[fill]] [[fill-active]] [[fill-el]] [[fill-multi]]
- [[fill-human]] [[fill-human-el]] [[fill-human-multi]]
- [[select]] [[selected?]] [[selected-el?]]
- [[upload-file]] [[remote-file]]
- [[disabled?]] [[enabled?]]
- [[clear]] [[clear-el]]
- [[submit]]
**Cookies**
- [[get-cookie]] [[get-cookies]]
- [[set-cookie]]
- [[delete-cookie]] [[delete-cookies]]
**Alerts**
- [[has-alert?]] [[has-no-alert?]]
- [[get-alert-text]]
- [[accept-alert]] [[dismiss-alert]]
**Scrolling**
- [[get-scroll]]
- [[scroll]] [[scroll-by]]
- [[scroll-bottom]] [[scroll-top]]
- [[scroll-down]] [[scroll-up]] [[scroll-left]] [[scroll-right]]
- [[scroll-offset]]
- [[scroll-query]]
**Scripting**
- [[js-execute]] [[js-async]] [[js-localstorage-clear]] [[el->ref]] [[add-script]]
**Browser Windows**
- [[get-window-handle]] [[get-window-handles]]
- [[get-window-position]] [[set-window-position]]
- [[get-window-size]] [[set-window-size]]
- [[maximize]]
- [[switch-window]] [[switch-window-next]]
- [[close-window]]
**Frames**
- [[switch-frame]] [[switch-frame-first]] [[switch-frame-parent]] [[switch-frame-top]] [[with-frame]]
**Page Info**
- [[get-source]] [[get-title]]
**Screenshots**
- [[screenshot]] [[screenshot-element]] [[with-screenshots]]
**Print to PDF**
- [[print-page]]
**Browser Info**
- [[supports-logs?]] [[get-log-types]] [[get-logs]]
- [[get-user-agent]]
- [[with-postmortem]]
**Waiting**
- [[doto-wait]] [[wait]] [[with-wait]]
- [[*wait-interval*]] [[*wait-timeout*]] [[with-wait-interval]] [[with-wait-timeout]]
- [[wait-exists]] [[wait-absent]]
- [[wait-visible]] [[wait-invisible]]
- [[wait-disabled]] [[wait-enabled]]
- [[wait-has-alert]]
- [[wait-has-class]]
- [[wait-has-text]] [[wait-has-text-everywhere]]
- [[wait-predicate]]
- [[wait-running]]
**Browser Timeouts**
- [[get-implicit-timeout]] [[set-implicit-timeout]]
- [[get-page-load-timeout]] [[set-page-load-timeout]]
- [[get-script-timeout]] [[set-script-timeout]] [[with-script-timeout]]
**WebDriver Actions**
- [[make-action-input]] [[make-key-input]] [[make-mouse-input]] [[make-pen-input]] [[make-pointer-input]] [[make-touch-input]]
- [[add-action]]
- [[add-double-pause]]
- [[add-key-down]] [[add-key-press]] [[add-key-up]] [[with-key-down]]
- [[add-pause]]
- [[add-pointer-click]] [[add-pointer-click-el]] [[add-pointer-double-click]] [[add-pointer-double-click-el]]
- [[add-pointer-down]] [[add-pointer-up]]
- [[with-pointer-btn-down]] [[with-pointer-left-btn-down]] [[with-mouse-btn]]
- [[add-pointer-move]] [[add-pointer-move-to-el]]
- [[add-pointer-cancel]]
- [[perform-actions]] [[release-actions]]
**Convenience**
- [[rand-uuid]] [[when-predicate]] [[when-not-predicate]]
For more info about this library see:
https://github.com/clj-commons/etaoin/blob/master/doc/01-user-guide.adocPublic Variable | Short Description |
---|---|
*wait-interval* (clj) | Frequency in seconds to check if we should still wait, default for `wait-*` functions. |
*wait-timeout* (clj) | Maximum seconds to wait, default for `wait-*` functions. |
->RemoteFile (clj) | |
RemoteFile (clj) | |
absent? (clj) | Opposite of [[exists?]]. |
accept-alert (clj) | Have `driver` accept open alert dialog. |
add-action (clj) | Return `input` with `action` added. |
add-double-pause (clj) | Return `input` source with two pause actions added. |
add-key-down (clj) | Return `input` source with `key` down action added. |
add-key-press (clj) | Return `input` source with `key` down and up actions added. |
add-key-up (clj) | Return `input` source with `key` up action added. |
add-pause (clj) | Return `input` source with a pause action added. |
add-pointer-cancel (clj) | Return `input` with a pointer cancel action added. |
add-pointer-click (clj) | Return `input` source with `pointer-button` down and up actions added. |
add-pointer-click-el (clj) | Return `input` source with `pointer-button` down and up actions on element `el` added. |
add-pointer-double-click (clj) | Return `input` source with `pointer-button` down, up, down, up actions added. |
add-pointer-double-click-el (clj) | Return `input` source with `pointer-button` down, up, down, up actions on element `el` added. |
add-pointer-down (clj) | Return `input` source with `pointer-button` down action added. |
add-pointer-move (clj) | Return `input` source with pointer move action added. |
add-pointer-move-to-el (clj) | Return `input` source with pointer move to element `el` action added. |
add-pointer-up (clj) | Return `input` source with `pointer-button` up action added. |
add-script (clj) | Have `driver` add script with src `url` to page. |
back (clj) | Have `driver` navigate backward in the browser history. |
boot-driver (clj) | Launch and return a driver of `type` (e.g. |
child (clj) | Uses `driver` to return single element satisfying query `q` under given `ancestor-el` element. |
children (clj) | Use `driver` to return a vector of unique elements satisfying query `q` under given `ancestor-el` element. |
chrome (clj) | Launch and return a Chrome driver. |
chrome-headless (clj) | Launch and return a headless Chrome driver. |
chrome? (clj) | Returns true if a `driver` is Chrome. |
clear (clj) | Have `driver` clear input element found by `q` (and optionally `more-qs`). |
clear-el (clj) | Have `driver` clear input element `el`. |
click (clj) | Have `driver` click on element found by query `q`. |
click-el (clj) | Have `driver` click on element `el`. |
click-multi (clj) | Have `driver` click on first element found by each query in vector `qs`. |
click-single (clj) | Have `driver` click on element found by query `q`. |
click-visible (clj) | Waits until `driver` finds visible element via query `q` then clicks on it. |
close-window (clj) | Have `driver` close current browser window. |
create-session (clj) | Have `driver` create a new session and return resulting session-id string. |
defaults (clj) | WebDriver driver type specific option defaults. |
defaults-global (clj) | WebDriver global option defaults. |
delete-cookie (clj) | Have `driver` delete cookie with cookie `cookie-name`. |
delete-cookies (clj) | Have `driver` delete all browser cookies for all domains. |
delete-session (clj) | Have `driver` delete the active session. |
disabled? (clj) | Opposite of [[enabled?]]. |
disconnect-driver (clj) | Returns new `driver` after disconnecting from a running WebDriver process. |
dismiss-alert (clj) | Have `driver` cancel open alert dialog. |
displayed-el? (clj) | Return true if `driver` finds `el` is displayed/visible. |
displayed? (clj) | Return true if element found by `driver` with query `q` is effectively displayed. |
doto-wait (clj) | The same as `clojure.core/doto` but prepends each form with ([[wait]] `seconds`) clause. |
double-click (clj) | Have `driver` double-click on element found by query `q`. |
double-click-el (clj) | Have `driver` double-click on element `el`. |
drag-and-drop (clj) | Have `driver` perform a drag and drop from element found by `q-from` to element found by `q-to`: 1. |
driver? (clj) | Return true if `driver` is of `type` (e.g. |
edge (clj) | Launch and return an Edge driver. |
edge-headless (clj) | Launch and return a headless Edge driver. |
edge? (clj) | Returns true if a `driver` is Edge. |
el->ref (clj) | Return map representing an element reference for WebDriver. |
enabled-el? (clj) | Return true if `driver` determines element `el` is enabled. |
enabled? (clj) | Returns true if `driver` determines element found by query `q` is enabled. |
execute (clj) | Return response from having `:driver` execute HTTP `:method` request to `:path` with body `:data`. |
exists? (clj) | Return true if `driver` can find element via query `q`. |
fill (clj) | Have `driver` fill input element found by `q` with `text` (and optionally `more` text). |
fill-active (clj) | Have `driver` fill active element with `text` (and optionally `more` text). |
fill-el (clj) | Have `driver` fill input element `el` with `text` (and optionally `more` text). |
fill-human (clj) | Have `driver` fill element found by `q` with `text` as if it were a real human using `opts`. |
fill-human-el (clj) | Have `driver` fill element `el` with `text` as if it were a real human using `opts`. |
fill-human-multi (clj) | Have `driver` fill multiple elements as if it were a real human being via `q-text` using `opts`. |
fill-multi (clj) | Have `driver` fill multiple inputs via `q-text`. |
firefox (clj) | Launch and return a Firefox driver. |
firefox-headless (clj) | Launch and return a headless Firefox driver. |
firefox? (clj) | Returns true if a `driver` is Firefox. |
forward (clj) | Have `driver` navigate forward in the browser's history. |
get-alert-text (clj) | Have `driver` return text string from alert dialog (if present). |
get-cookie (clj) | Have `driver` return first cookie matching `cookie-name`. |
get-cookies (clj) | Have `driver` return a vector of current browser cookies. |
get-element-attr (clj) | Have `driver` return value for `attribute` of element found by `q`. |
get-element-attr-el (clj) | Have `driver` return value for `attribute` of element `el`, or `nil` if attribute does not exist. |
get-element-attrs (clj) | Have `driver` return values for `attributes` of element found by query `q`. |
get-element-box (clj) | Have `driver` return map describing a bounding box for element found by query `q`. |
get-element-css (clj) | Have `driver` return the CSS style `property` of element found by query `q`. |
get-element-css-el (clj) | Have `driver` return value for CSS style `property` of element `el`, or `nil` if property does not exist. |
get-element-csss (clj) | Have `driver` return CSS style properties matching `properties` of element found by query `q`. |
get-element-inner-html (clj) | Have `driver` return inner text of element found by query `q`. |
get-element-inner-html-el (clj) | Have `driver` return inner text of element `el`. |
get-element-location (clj) | Have `driver` return map of `:x` `:y` offset, in pixels of element found by query `q`. |
get-element-location-el (clj) | Have `driver` return map of `:x` `:y` offset, in pixels of element `el`. |
get-element-properties (clj) | Have `driver` return a vector of property values matching `properties` of element found by query `q`. |
get-element-property (clj) | Have `driver` value for `property` of element found by query `q`. |
get-element-property-el (clj) | Have `driver` return value for `property` of element `el`. |
get-element-size (clj) | Have `driver` return map of `:width` and `:height`, in pixels, of element found by query `q`. |
get-element-size-el (clj) | Have `driver` return map of `:width` and `:height`, in pixels, of element `el`. |
get-element-tag (clj) | Have `driver` return tag name of element found by query `q`. |
get-element-tag-el (clj) | Have `driver` return tag name of element `el`. |
get-element-text (clj) | Have `driver` return inner text of element found by query `q`. |
get-element-text-el (clj) | Have `driver` return text of element `el`. |
get-element-value (clj) | Have `driver` return the value of element found by query `q`. |
get-element-value-el (clj) | Have `driver` return the value of element `el`. |
get-hash (clj) | Have `driver` fetch the current hash fragment for the current page (nil when not set). |
get-implicit-timeout (clj) | Returns `driver` timeout in seconds to find elements on the page. |
get-log-types (clj) | Have `driver` return a vector of log types the browser supports. |
get-logs (clj) | Have `driver` return Javascript console log entries. |
get-page-load-timeout (clj) | Returns `driver` timeout in seconds for loading a page. |
get-script-timeout (clj) | Returns `driver` timeout in seconds for executing JavaScript. |
get-scroll (clj) | Have `driver` return the current scroll position as a map of `:x` `:y`. |
get-source (clj) | Have `driver` return browser's current page HTML markup as a string. |
get-status (clj) | Returns `driver` status. |
get-title (clj) | Have `driver` return the current page title. |
get-url (clj) | Have `driver` return the current url location as a string. |
get-user-agent (clj) | Have `driver` return the browser `User-Agent`. |
get-window-handle (clj) | Have `driver` return the current browser window handle string. |
get-window-handles (clj) | Have `driver` return a vector of all browser window handle strings. |
get-window-position (clj) | Have `driver` return the current window position, in pixels relative to the screen, as a map of `:x` and `:y`. |
get-window-size (clj) | Have `driver` return the current browser window size in pixels as a map of `:width` and `:height`. |
go (clj) | Have `driver` open `url` in the current browser window. |
has-alert? (clj) | Returns true if `driver` sees an open alert dialog. |
has-class-el? (clj) | Returns true if `driver` finds that element `el` includes `class` in its class attribute. |
has-class? (clj) | Returns true if `driver` finds that element found by query `q` includes `class` in its class attribute. |
has-no-alert? (clj) | Opposite of [[has-alert?]]. |
has-no-class? (clj) | Opposite of [[has-class?]]. |
has-text? (clj) | Return true if `driver` finds that `text` appears anywhere on a page. |
headless? (clj) | Returns true if a `driver` is in headless mode (without UI window). |
intersects? (clj) | Return true if bounding boxes found by `driver` for element found by query `q1` intersects element found by query `q2`. |
invisible? (clj) | Oppsite of [[visible?]]. |
js-async (clj) | Return result of `driver` executing JavaScript `script` with `args` asynchornously in the browser. |
js-execute (clj) | Return result of `driver` executing Javascript `script` with `args` synchronously in the browser. |
js-localstorage-clear (clj) | Have `driver` clear local storage. |
left-click (clj) | Have `driver` click the left mouse button at current mouse pointer position. |
left-click-on (clj) | Have `driver` move mouse pointer to element found by `q` then click left mouse button. |
make-action-input (clj) | Return a new action input source of `type`. |
make-key-input (clj) | Return a new key input source. |
make-mouse-input (clj) | Return a new mouse input source. |
make-pen-input (clj) | Return a new pen input source. |
make-pointer-input (clj) | Return a new pointer input source of pointer `type`. |
make-touch-input (clj) | Return a new touch input source. |
map->RemoteFile (clj) | |
maximize (clj) | Have `driver` make the current browser window as large as your screen allows. |
middle-click (clj) | Have `driver` click the middle mouse button at current mouse pointer position. |
middle-click-on (clj) | Have `driver` move mouse pointer to element found by `q` then click middle mouse button. |
mouse-btn-down (clj) | Have `driver` press down on the button of the virtual mouse. |
mouse-btn-up (clj) | Have `driver` release button of the virtual mouse. |
mouse-click (clj) | Have `driver` click `mouse-button` at current mouse pointer position. |
mouse-click-on (clj) | Have `driver` move mouse pointer to element found by `q` then click `mouse-button`. |
mouse-move-to (clj) | Have `driver` moves the virtual mouse pointer either to an element found by query `q` or to a specific by `x` and `y` pixel offset within the browser window. |
perform-actions (clj) | Have `driver` perform actions defined in `input` source(s) simultaneously. |
phantom (clj) | Launch and return a Phantom.js driver. |
phantom? (clj) | Returns true if a `driver` is Phantom.js. |
print-page (clj) | Have `driver` print current HTML page to `file` in PDF format. |
query (clj) | Use `driver` to find and return the first element on current page matching `q`. |
query-all (clj) | Use `driver` to return a vector of all elements on current page matching `q`. |
query-tree (clj) | Use `driver` to return a collection of all elements matching piped queries. |
quit (clj) | Have `driver` close the current session, then, if Etaoin launched it, kill the WebDriver process. |
rand-uuid (clj) | Return a random UUID string. |
refresh (clj) | Have `driver` reload the content in the current browser window. |
release-actions (clj) | Have `driver` clear any active action state. |
reload (clj) | Alias for [[refresh]]. |
remote-file (clj) | Wraps `remote-file-path` for use with [[upload-file]] to avoid local file existence check. |
right-click (clj) | Have `driver` click the right mouse button at current mouse pointer position. |
right-click-on (clj) | Have `driver` move mouse pointer to element found by `q` then click right mouse button. |
running? (clj) | Return true if `driver` seems accessable via its `:host` and `:port`. |
safari (clj) | Launch and return a Safari driver. |
safari? (clj) | Returns true if a `driver` is Safari. |
screenshot (clj) | Have `driver` save a PNG format screenshot of the current page to `file`. |
screenshot-element (clj) | Have `driver` save a PNG format screenshot of the element found by query `q` to `file`. |
scroll (clj) | Have `driver` scroll page to `x` `y` absolute pixel coordinates. |
scroll-bottom (clj) | Have `driver` scroll vertically to bottom of the page keeping current horizontal position. |
scroll-by (clj) | Have `driver` scroll by `x` `y` relative pixel offset. |
scroll-down (clj) | Have `driver` scroll the page down by `offset` pixels. |
scroll-left (clj) | Have `driver` scroll the page left by `offset` pixels. |
scroll-offset (clj) | Default scroll offset in pixels. |
scroll-query (clj) | Have `driver` scroll to the element found by query `q`. |
scroll-right (clj) | Have `driver` scroll the page right by `offset` pixels. |
scroll-top (clj) | Have `driver` scroll vertically to the top of the page keeping current horizontal position. |
scroll-up (clj) | Have `driver` scroll the page up by `offset` pixels. |
select (clj) | Convenience function to have `driver` select first option that includes `text` for select element found by query `q`. |
selected-el? (clj) | Return true if `driver` determines element `el` is selected. |
selected? (clj) | Return true if `driver` determines element found by query `q` is selected. |
set-cookie (clj) | Have `driver` set a `cookie`. |
set-hash (clj) | Have `driver` set a new `hash` fragment for the current page. |
set-implicit-timeout (clj) | Sets `driver` timeout `seconds` to find elements on the page. |
set-page-load-timeout (clj) | Sets `driver` timeout `seconds` for loading a page. |
set-script-timeout (clj) | Sets `driver` timeout `seconds` for executing JavaScript. |
set-window-position (clj) | Have `driver` set the `x` `y` position of the current browser window. |
set-window-size (clj) | Have `driver` set the `width` and `height` in pixels of the current window. |
stop-driver (clj) | Returns new `driver` after killing its WebDriver process. |
submit (clj) | Have `driver` submit a form by sending the enter key to input element found by query `q`. |
supports-logs? (clj) | Returns true if `driver` supports getting console logs. |
switch-frame (clj) | Have `driver` switch context to (i)frame element found by query `q`. |
switch-frame-first (clj) | Have `driver` switch context to the first (i)frame. |
switch-frame-parent (clj) | Have `driver` switch context to the parent of the current (i)frame. |
switch-frame-top (clj) | Have `driver` switch context the main page. |
switch-window (clj) | Have `driver` switch to browser window with `handle`. |
switch-window-next (clj) | Have `driver` switch to next browser window. |
touch-down (clj) | Have `driver` touch down - on element found by query `q` - or `x` `y` coordinate See [[query]] for details on `q`. |
touch-move (clj) | Have `driver` touch move - on element found by query `q` - or `x` `y` coordinate See [[query]] for details on `q`. |
touch-tap (clj) | Have `driver` touch tap element found by query `q`. |
touch-up (clj) | Have `driver` touch up - on element found by query `q` - or `x` `y` coordinate See [[query]] for details on `q`. |
upload-file (clj) | Have `driver` attach a file `path` to a file input field element found by query `q`. |
use-css (clj) | Return new `driver` with default locator set to CSS. |
use-xpath (clj) | Return new `driver` with default locator set to XPath. |
visible? (clj) | Return true if element found by `driver` with query `q` exists and is effectively displayed. |
wait (clj) | Sleep for `seconds`. |
wait-absent (clj) | Waits until `driver` determines element is not found by `q` (is [[absent?]]). |
wait-disabled (clj) | Waits until `driver` determines element found by `q` is [[disabled?]]. |
wait-enabled (clj) | Waits until `driver` determines element found by `q` is [[enabled?]]. |
wait-exists (clj) | Waits until `driver` finds element [[exists?]] via `q`. |
wait-has-alert (clj) | Waits until `driver` finds page [[has-alert?]]. |
wait-has-class (clj) | Waits until `driver` finds element via `q` [[has-class?]] `class`. |
wait-has-text (clj) | Waits until `driver` finds element via `q` with `text` anywhere inside it (including inner HTML). |
wait-has-text-everywhere (clj) | Waits until `driver` finds `text` anywhere on the current page. |
wait-invisible (clj) | Waits until `driver` determines element found by `q` is [[invisible?]]. |
wait-predicate (clj) | Wakes up every `:interval` seconds to call `pred`. |
wait-running (clj) | Waits until `driver` is reachable via its host and port via [[running?]]. |
wait-visible (clj) | Waits until `driver` determines element found by `q` is [[visible?]]. |
when-chrome (clj) | Executes `body` when browser `driver` is Chrome. |
when-edge (clj) | Executes `body` when browser `driver` is Edge. |
when-firefox (clj) | Executes `body` when browser `driver` is Firefox. |
when-headless (clj) | Executes `body` when the `driver` is in headless mode. |
when-not-chrome (clj) | Executes `body` when browser `driver` is NOT Chrome. |
when-not-drivers (clj) | Executes `body` when browser `driver` is NOT in `browsers`, ex: `#{:chrome :safari}`. |
when-not-edge (clj) | Executes `body` when browser `driver` is NOT Edge. |
when-not-firefox (clj) | Executes `body` when browser `driver` is NOT Firefox. |
when-not-headless (clj) | Executes `body` when browser `driver` is NOT in headless mode. |
when-not-phantom (clj) | Executes `body` when browser `driver` is NOT Phantom.js. |
when-not-predicate (clj) | Executes `body` when `predicate` returns falsy. |
when-not-safari (clj) | Executes `body` when browser `driver` is NOT Safari. |
when-phantom (clj) | Executes `body` when browser `driver` is Phantom.js. |
when-predicate (clj) | Executes `body` when `predicate` returns truthy. |
when-safari (clj) | Executes `body` when browser `driver` is Safari. |
with-chrome (clj) | Executes `body` with a Chrome driver session bound to `bind`. |
with-chrome-headless (clj) | Executes `body` with a headless Chrome driver session bound to `bind`. |
with-css (clj) | Execute `body` with default locator set to CSS. |
with-driver (clj) | Executes `body` with a driver session of `type` (e.g. |
with-edge (clj) | Executes `body` with an Edge driver session bound to `bind`. |
with-edge-headless (clj) | Executes `body` with a headless Edge driver session bound to `bind`. |
with-firefox (clj) | Executes `body` with a Firefox driver session bound to `bind`. |
with-firefox-headless (clj) | Executes `body` with a headless Firefox driver session bound to `bind`. |
with-frame (clj) | Excecute `body` within context of frame found via `driver` by query `q`. |
with-http-error (clj) | Executes `body` suppressing catching any exception that would normally occur due to HTTP non-success status when communicating with a WebDriver. |
with-key-down (clj) | Returns `input` source piped through `key` down, then presumably a `body` of more actions then a `key` up action. |
with-mouse-btn (clj) | Have `driver` press the virtual mouse button, execute `body`, then release the virtual mouse button. |
with-phantom (clj) | Executes `body` with an Phantom.JS driver session bound to `bind`. |
with-pointer-btn-down (clj) | Returns `input` source piped through `pointer-button` down action, then presumably a `body` of more actions then a pointer `pointer-button` up action. |
with-pointer-left-btn-down (clj) | Returns `input` source piped through pointer left button down action, then presumably a `body` of more actions then a pointer left button up action. |
with-postmortem (clj) | Executes `body` with postmortem handling. |
with-safari (clj) | Executes `body` with a Safari driver session bound to `bind`. |
with-screenshots (clj) | Have `driver` save a PNG imge screenshot to `dir` after each form in `body` is executed. |
with-script-timeout (clj) | Execute `body` temporarily setting `driver` to timeout `seconds` for executing JavaScript. |
with-wait (clj) | Execute `body` waiting `seconds` before each form. |
with-wait-interval (clj) | Execute `body` with a [[*wait-interval*]] of `seconds` (which can be fractional). |
with-wait-timeout (clj) | Execute `body` with a [[*wait-timeout*]] of `seconds`. |
with-xpath (clj) | Execute `body` with default locator set to XPath. |