WebDriver client library in Rust
webdriver_client on crates.io
Source code and issues on GitHub:
Pull requests welcome.
Getting started
GeckoDriver and ChromeDriver are fully supported as WebDriver backends by the webdriver_client::firefox::GeckoDriver and webdriver_client::chrome::ChromeDriver structs. This crate expects the driver to be on your path.
However HttpDriver will accept any WebDriver server's HTTP URL, so
Microsoft WebDriver for Edge, safaridriver for Apple
Safari, and OperaDriver for Opera should all work if you start the
server yourself.
On Linux
The scripts bin/download_geckodriver and bin/download_chromedriver download the Linux x64 binary releases for geckodriver and chromedriver.
This snippet will download the drivers and place it on your current shell's path:
Tests
cargo test runs a few tests. Integration tests require geckodriver and chromedriver to be installed.
Changelog
v0.2.5
Errorimplementsstd::error::Error.
v0.2.4
- Added screenshot support:
DriverSession::screenshot()andElement::screenshot(). - Add
Element::click(). - Add
Element::send_keys(). - Add alert functionality to
DriverSession:dismiss_alert,accept_alert,get_alert_text,send_alert_text.
v0.2.0
- Added ChromeDriver.
wwwbin has new commands:frames,switchframe.- Breaking change:
Driver::session and DriverSession::create_sessiontake aNewSessionCmdargument that specifies the session capabilities. - New method on
DriverSession:browser_name - New methods on
Element:property,clear,find_element,find_elementsraw_reference. - Integration tests: many more of them, more assertions and a built-in HTTP server.
This fork is based on equalsraf's excellent work from https://github.com/equalsraf/webdriver.