#chromedriver #chrome #testing #thirtyfour #browser #headless #undetected

undetected-chromedriver

thirtyfour的未检测实现

3个版本

0.1.2 2023年9月13日
0.1.1 2023年9月6日
0.1.0 2023年6月24日

#4 in #thirtyfour

Download history 50/week @ 2024-03-11 111/week @ 2024-03-18 9/week @ 2024-03-25 71/week @ 2024-04-01 140/week @ 2024-04-08 47/week @ 2024-04-15 10/week @ 2024-04-22 4/week @ 2024-05-27 9/week @ 2024-06-03 3/week @ 2024-06-10 21/week @ 2024-06-17 34/week @ 2024-06-24

每月67次下载

MIT许可证

66KB
225 行代码

rust undetected chrome driver logo
Rust未检测chromedriver

基于undetected-chromedriver库的Rust实现,该库基于thirtyfour

安装

要使用此库,您需要在您的系统上安装Rust和Cargo。然后您可以将以下行添加到您的Cargo.toml文件中

[dependencies]
undetected-chromedriver = "0.1.2"

用法

以下是如何在您的Rust项目中使用未检测到的chromedriver的示例

use undetected_chromedriver::chrome;
use tokio;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let driver = chrome().await?;

    driver.goto("https://www.rust-lang.net.cn/").await?;

    let title = driver.title().await?;
    println!("Title: {}", title);

    driver.quit().await?;

    Ok(())
}

注意:在使用未检测到的chromedriver之前,系统上需要安装chrome

无头模式

您可以使用xvfb-run运行chromedriver的无头模式。这需要您在系统上安装xvfb

Docker

提供了一个包含已安装chrome和xvfb的Docker镜像。您可以使用如下方式

FROM rust:latest as builder
COPY ./src ./src
COPY ./Cargo.toml ./Cargo.toml
COPY ./Cargo.lock ./Cargo.lock
RUN cargo build --release

FROM ghcr.io/ulyssedev/rust-undetected-chromedriver:latest
COPY --from=builder /target/release/binary /home/apps/binary
CMD ["/home/apps/binary"]

依赖项

~17–32MB
~501K SLoC