查找具有特定文本的 href children

Find href children with specific text

我想在一组页面上提取 link。有时这个 link 在页面上定义为:

//*[@id="mainlist"]/dl/dt[3]/a

有时是:

//*[@id="mainlist"]/dl[2]/dt[2]/a

与 link 关联的文本始终是 "My special link"。

有没有办法匹配 //*[@id="mainlist"] 的 href child,其中包含文本 "My special link"?

是的,你可以这样做:

"//*[@id="mainlist"]//a[text()="My special link"]"

使用 cssselect 你可以做到

"#mainlist a:contains("My special link")"