A high-level API for programmatically interacting with web pages through WebDriver.
This crate uses the [WebDriver protocol] to drive a conforming (potentially headless) browser through relatively high-level operations such as "click this element", "submit this form", etc.
Most interactions are driven by using [CSS selectors]. With most WebDriver-compatible browser being fairly recent, the more expressive levels of the CSS standard are also supported, giving fairly powerful.
Forms are managed by first calling Client::form
, and then using the methods on Form
to
manipulate the form's fields and eventually submitting it.
For low-level access to the page, Client::source
can be used to fetch the full page HTML
source code, and Client::raw_client_for
to build a raw HTTP request for a particular URL.