# webdriver-install
[](https://github.com/phansch/webdriver-install/actions)
[](https://phansch.net/thanks)
[](https://crates.io/crates/webdriver-install)
[](https://docs.rs/webdriver-install/)

Fast and simple webdriver installation
## Usage
### As a CLI
```shell
# Install into $HOME/.webdrivers
webdriver-install --install geckodriver
# Or into a specified directory
webdriver-install --install geckodriver --dir /tmp/webdrivers
# Check that it installed correctly:
/tmp/webdrivers/geckodriver --help
```
### As a Rust library
```rust
use webdriver_install::Driver;
use std::path::PathBuf;
fn main() {
// Install into $HOME/.webdrivers
Driver::Chrome.install();
// Install into specified path
Driver::Chrome.install_into(PathBuf::from("/tmp/webdrivers"));
}
```
## Implementation state
Driver installation support:
* ✅ `chromedriver`
* ✅ `geckodriver`
* ⬜ `edgedriver`
* ⬜ `iedriver`
* ⬜ `operadriver`
* ⬜ `safaridriver`
Safaridriver comes pre-installed on all MacOS systems, but we can at least
provide the binary location.
Usability:
* ✅ README instructions
* ✅ Stable-ish library API
* ⬜ Command line interface
* ⬜ Updating of installed drivers
* ⬜ Removal of installed drivers
* ✅ Published on crates.io
* ✅ Published library docs
* ✅ Linux support
* ✅ Windows support
* ✅ MacOS support
* ⬜ WSL support
* ⬜ Pre-built binaries
Inspired by:
* [titusfortner/webdrivers](https://github.com/titusfortner/webdrivers/) which is written in Ruby.
* `wasm-pack`'s [internal test helpers](https://github.com/rustwasm/wasm-pack/tree/master/src/test/webdriver?rgh-link-date=2021-01-14T06%3A59%3A33Z)
* [bonigarcia/webdrivermanager](https://github.com/bonigarcia/webdrivermanager)