Expand description
静态(离线)元素解析(后端无关,基于 scraper):StaticElement 的 s_ele/s_eles/table。
静态元素 [StaticElement]:对应 DrissionPage 的“静态元素“(s_ele/s_eles)。
与实时 Element 不同,静态元素是把某一时刻的 HTML 快照
离线解析后(基于 scraper/html5ever)在内存 DOM 上做查询与读取——不再与浏览器通信,
因此读取大量字段时极快,适合“抓到页面后批量解析“的爬虫场景。
定位:DP 的 @attr / text: / tag: / CSS 等常见写法均支持;显式 xpath: 走内置
XPath 1.0 子集求值器(覆盖 ////、*、[n]/[last()]、
@a="v"、contains(...)、and/or/not 等),不支持的轴/语法会报错并提示改用实时
Tab::ele。
ⓘ
tab.get("https://example.com").await?;
let h1 = tab.s_ele("tag:h1").await?; // 解析当前 HTML,取第一个 h1
println!("{}", h1.text()?);
for a in tab.s_eles("tag:a").await? { // 批量:所有链接
println!("{:?} -> {:?}", a.text()?, a.attr("href")?);
}
// 也可离线解析任意 HTML 字符串(例如监听到的响应体):
let root = StaticElement::parse("<ul><li>a</li><li>b</li></ul>")?;Structs§
- Static
Element - 一个静态(离线解析)元素句柄。克隆代价低(共享同一份已解析文档)。