A wrapper over the W3C WebDriver Specification to automate popular browsers.
Tries to normalize differences across the various implementations.
See the User Guide 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
Driver Sessions
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
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
Alerts
Scrolling
get-scroll
scroll
scroll-by
scroll-bottom
scroll-top
scroll-down
scroll-up
scroll-left
scroll-right
scroll-offset
scroll-query
Scripting
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
Page Info
Screenshots
Print to PDF
Browser Info
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
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]]
Alternate syntax for etaoin.api
with-<driver> calls.
Alternate syntax for [[etaoin.api]] with-<driver> calls.
Chrome devtools features
Chrome devtools features
Selenium IDE flow control (if/else, for/while/repeat, etc).
Selenium IDE flow control (if/else, for/while/repeat, etc).
Provide an CLI entry point for running IDE files. Example:
clojure -M -m etaoin.ide.main -d firefox -p '{:port 8888 :args ["--no-sandbox"]}' -f /path/to/script.side
See the User Guide for more info.
Provide an CLI entry point for running IDE files. Example: ```shell clojure -M -m etaoin.ide.main -d firefox -p '{:port 8888 :args ["--no-sandbox"]}' -f /path/to/script.side ``` See the [User Guide](/doc/01-user-guide.adoc#selenium-ide-cli) for more info.
Key and mouse constants. And chords.
Sourced from WebDriver spec.
Key and mouse constants. And chords. Sourced from [WebDriver spec](https://www.w3.org/TR/webdriver/#keyboard-actions).
A module to deal with querying elements.
This feels like a internal namespace. Why do folks need to use this directly? Maybe they are extending defmulti with more conversions?
A module to deal with querying elements. This feels like a internal namespace. Why do folks need to use this directly? Maybe they are extending defmulti with more conversions?
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close