45 releases
0.16.0 | Jun 13, 2024 |
---|---|
0.14.3 | Feb 15, 2024 |
0.14.0 | Sep 29, 2023 |
0.13.6 | Jul 26, 2023 |
0.5.1 | Mar 31, 2023 |
#947 in Web programming
82 downloads per month
Used in 2 crates
66KB
1.5K
SLoC
webdriver-downloader
Library for webdriver download. Supports chromedriver(both Chrome and Chrome for Testing), geckodriver for Windows, Linux and macOS.
Usage
Using library provided driver downloader
use webdriver_downloader::prelude::*;
#[tokio::main]
async fn main() {
let driver_info = ChromedriverInfo::new_default().unwrap();
// Tries up to 5 versions of webdrivers if it is not installed.
if !driver_info.is_installed() {
driver_info.download_verify_install(5).await.unwrap();
}
// webdriver is installed.
// Default installation path is %USERPROFILE%/bin/chromedriver.exe ($HOME/bin/chromedriver for unix family)
}
Implementing downloader for custom driver
By implementing WebdriverUrlInfo, WebdriverInstallationInfo, WebdriverVerificationInfo
, trait WebdriverDownloadInfo
is automatically implemented for struct CustomDriverInfo
.
Then you can call custom_driver_info.download_verify_install(max_attempts)
.
Notes on runtime
The library's implementation of WebdriverVerificationInfo::verify_driver
uses fantoccini
to verify installed driver.
Since fantoccini
requires tokio
as runtime, you need to use tokio
as runtime to use library provided driver downloader.
Dependencies
~20–37MB
~605K SLoC