Chrome 开发工具协议 Rust API
chromiumoxide 提供了一个高级且异步的 API,用于通过 DevTools 协议 控制 Chrome 或 Chromium。它支持所有类型的 Chrome DevTools 协议,可以启动 无头 或完整 (非无头) 的 Chrome 或 Chromium 实例,或者连接到已运行的实例。
…当前的 API 仍然缺少一些功能,但 Page::execute 函数允许发送所有 chromiumoxide_types::Command 类型(请参阅 生成代码)。大多数 Element 和 Page 函数基本上只是简化的命令构造和组合,例如 Page::pdf:
pub async fn pdf(&self, params: PrintToPdfParams) -> Result<Vec<u8>> {
let res = self.execute(params).await?;
Ok(base64::decode(&res.data)?)
}如果您需要其他功能,Page::execute 函数允许您编写自己的命令包装器。如果您认为缺少某个有意义的命令的指定函数,欢迎提交 PR。
chromiumoxide 仅支持 tokio 运行时。
chromiumoxide_pdl 编译单元包含一个 PDL 解析器,这是对 Chromium 源代码树中的一个 Python 脚本 的 Rust 重写,以及一个 Generator,它将解析的 PDL 文件转换为 Rust 代码。chromiumoxide_cdp 编译单元的唯一目的是在其 构建过程 中调用生成器,并在编译该编译单元本身之前 包含生成的输出。这种分离仅仅是因为生成的输出是 ~60K 行的 Rust 代码(不包括所有 proc 宏的展开)。因此,请预期编译需要一些时间。
暂无开放 Issues,或尚未同步最近议题。