Skip to main content

Crate rust_drission

Crate rust_drission 

Source
Expand description

Rust DrissionPage:浏览器自动化库

API 与 DrissionPage Python 版尽可能一致。 支持连接已有 Chrome、启动新 Chrome、CDP 控制、DOM/元素、等待等,以及请求/响应监听。

§快速开始(与 DrissionPage 一致)

use rust_drission::ChromiumPage;
use rust_drission::BrowserConfig;

let page = ChromiumPage::new(BrowserConfig::new()).unwrap();
page.get("https://www.example.com").unwrap();
let title = page.title().unwrap();
let el = page.ele("css:#kw").unwrap();

也可使用 Browser + Page 分步操作;Page 提供 get/refresh/run_js/ele/eles 等与 DrissionPage 同名方法。

Re-exports§

pub use browser::Browser;
pub use browser::BrowserConfig;
pub use browser::BrowserVersion;
pub use chromium_page::ChromiumPage;
pub use cdp::CdpError;
pub use element::Element;
pub use frame::Frame;
pub use listener::DataPacket;
pub use listener::Listener;
pub use listener::Request;
pub use listener::Response;
pub use locator::Locator;
pub use locator::LocatorParseError;
pub use page::Cookie;
pub use page::Page;
pub use stealth::inject as stealth_inject;

Modules§

browser
浏览器连接与 Tab 管理
cdp
Chrome DevTools Protocol 客户端 通过 WebSocket 与 Chrome 通信
chromium_page
ChromiumPage:与 DrissionPage 一致的入口,整合浏览器与当前标签页
dom
DOM 查询:基于 CDP DOM / Runtime 的 getDocument、querySelector、getOuterHTML 等
element
元素 API:单个 DOM 节点的操作(click、text、html、attr、input 等)
frame
iframe 作为普通元素:在同源 iframe 内查找元素,无需切入切出(与 DrissionPage ChromiumFrame 一致)
listener
请求/响应监听:独立 CDP 连接接收 Network 事件,收集请求与响应数据
locator
Locator 解析:支持 css / xpath / text / attr / id / class / tag 字符串格式
page
页面(Tab)API:导航、DOM、元素、等待等
stealth
Stealth 反检测:在页面注入脚本,降低被识别为自动化的概率(README §13)