8 个版本 (2 个稳定版)
新版本 1.0.2 | 2024 年 8 月 15 日 |
---|---|
0.2.1 | 2024 年 8 月 9 日 |
0.1.3 | 2024 年 8 月 8 日 |
#171 在 硬件支持
586 每月下载量
20KB
269 代码行
chromedriver
当浏览器/驱动程序版本不匹配时自动下载 Chromedriver。
用法
安装
cargo install chromedriver-update
运行
--browser-path: chrome 浏览器路径
--driver-path: chrome 驱动程序路径,不存在时创建
# mac
chromedriver-update \
--browser-path="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \
--driver-path="/usr/local/bin/chromedriver"
# linux
chromedriver-update \
--browser-path="/usr/bin/google-chrome" \
--driver-path="/usr/bin/chromedriver"
# windows (only tested in github workflow)
chromedriver-update \
--browser-path="C:\setup-chrome\chromium\120.0.6099.109\x64\chrome.exe" \
--driver-path="C:\setup-chrome\chromedriver.exe"
代码示例
需要 rust >= v1.80
添加包
cargo add chromedriver-update
代码示例
- /examples/default_args.rs
use chromedriver_update::ChromeDriver;
#[tokio::main]
async fn main() {
let mut driver = ChromeDriver::new();
driver.init().await.unwrap();
println!("driver version {}", driver.version);
println!("browser version {}", driver.browser_version);
if driver.need_download() {
driver.try_download().await.unwrap();
}
}
- /examples/custom_args.rs
use chromedriver_update::ChromeDriver;
#[tokio::main]
async fn main() {
let mut driver = ChromeDriver::new();
driver
.set_driver_path("/usr/local/bin/chromedriver")
.set_browser_path("/Applications/Google Chrome.app/Contents/MacOS/Google Chrome")
.set_connect_timeout(2000)
.set_timeout(5000)
.init()
.await
.unwrap();
println!("driver version {}", driver.version);
println!("browser version {}", driver.browser_version);
if !driver.need_download() {
println!("no need to update driver");
return;
}
println!("updating driver ...");
match driver.try_download().await {
Ok(_) => println!("Download driver successful"),
Err(err) => eprintln!("Download driver failed, {}", err),
}
}
依赖项
~14–27MB
~411K SLoC