This is a Clojure library for driving a web browser using Selenium-WebDriver as the backend. For more comprehensive documentation on all of clj-webdriver's features, read the Github wiki. You can generate documentation locally with lein doc
(API docs) or lein marg
(annotated source).
[clj-webdriver "0.7.3"]
clj-webdriver Resources
External Resources
Please join the Google group if you use this library. I regularly post announcements about upcoming releases, and although I ensure all tests are passing and try to maintain good test coverage before releases, user testing is invaluable. Thank you!
Here's a complete example of how to log into Github, using the high-level Taxi API:
(use 'clj-webdriver.taxi)
;; Start up a browser
(set-driver! {:browser :firefox} "https://github.com")
(click "a[href*='login']")
(input-text "#login_field" "your-username")
(input-text "#password" "your-password")
(submit "#password")
(quit)
Forms can be filled out en masse using the quick-fill-submit
function:
(quick-fill-submit {"#login_field" "your-username"}
{"#password" "your-password"}
{"#password" submit})
Please note that the high-level Taxi API is only available in the 0.6.0 release series.
For API documentation on the high-level Taxi API (shown above), please see its wiki page.
For reference documentation, run lein doc
at the root of this repo. For annotated source documentation, run lein marg
.
The master
branch of clj-webdriver houses code intended for the next minor-version release. If you want to propose new features for the next release, you're welcome to fork, make a topic branch and issue a pull request against the master
branch.
If you want to fix a bug in the current release, please pull against the appropriate branch for the current minor version, 0.6.x.
To run the default suite:
lein test
To run the test suite for an existing hub/node setup:
./script/grid-hub start
./script/grid-node start
lein test :manual-setup
To run the test suite for Saucelabs, first visit the test app on Heroku to make sure it's "awake" and then run:
lein test :saucelabs
There's a Ruby script at script/release
. It was written using version 2.2.2, no promises that it works with any other.
./script/release --release-version 8.8.8 --new-version 9.0.0-SNAPSHOT
The --release-version
can be -r
and the --new-version
can be -n
. Further, the new version must end with -SNAPSHOT
.
Credits to mikitebeka/webdriver-clj for the initial code for this project and many of the low-level wrappers around the Selenium-WebDriver API.
Many thanks to those who have contributed so far (in nick-alphabetical order):
See Github for an up-to-date list of contributors
I would like to thank the following companies for providing their tools free of charge to clj-webdriver developers as part of their contribution to the Open Source community.
When I need to do Java, Scala, or even JRuby development, I rely on Intellij IDEA's excellent support for JVM languages. I would like to thank JetBrains for granting clj-webdriver developers a free license to Intellij IDEA Ultimate, now for two years running.
Intellij IDEA: Java IDE with advanced HTML/CSS/JS editor for hardcore web-developers
YourKit is kindly supporting open source projects with its full-featured Java Profiler. YourKit, LLC is the creator of innovative and intelligent tools for profiling Java and .NET applications. Take a look at YourKit's leading software products: YourKit Java Profiler and YourKit .NET Profiler.
Clj-webdriver is distributed under the Eclipse Public License, the same as Clojure.
Can you improve this documentation?Edit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close