webdriver-downloader

Cli Interface&Library for webdriver download. Supports chromedriver for Windows, Linux and MacOS.

Usage

CLI

```shell

Install webdriver-downloader-cli

cargo install webdriver-downloader-cli

Installs chromedriver into %USERPROFILE%/bin/chromedriver.exe ($HOME/bin/chromedriver for unix family)

webdriver-downlod.exe

You can specify path to install driver to. Adding mkdir flag will create the parent directiry.

webdriver-download.exe --mkdir --driver ./drivers/chromedriver.exe

You can also provide the path to the browser executable, which is useful for downloading webdriver for different channels.

webdriver-download.exe --mkdir --driver ./drivers/chromedriver_dev.exe --browser "C:/Program Files/Google/Chrome Dev/Application/chrome.exe"

```

Library

Downloading library provided driver

```rust use std::path::PathBuf;

use webdriverdownloader::downloadverifyinstall; use webdriverdownloader::structs::ChromedriverInfo;

[tokio::main]

async fn main() { let driver_info = ChromedriverInfo::new( PathBuf::from("./webdrivers/chromedriver.exe"), PathBuf::from("C:/Program Files/Google/Chrome/Application/chrome.exe"), );

// Tries up to 5 versions of webdrivers.
download_verify_install(driver_info, 5).await.unwrap();

} ```

Implementing downloader for custom driver

You can implement trait WebdriverUrlInfo, WebdriverInstallationInfo, WebdriverVerificationInfo for CustomDriverInfo and call download_verify_install(custom_driver_info, max_attempts).