应该类似于:
//a[text()='text_i_want_to_find']/@href
对你来说太晚了,但对于其他有同样问题的人来说......
//a[contains(text(), 'programming')]/@href
当然,“编程”可以是任何文本片段。
//a[text()='programming quesions site']/@href
它基本上标识了一个具有您想要的文本的锚节点 <a>
,并提取了 href
属性。
将方括号中的短语视为 SQL 中的 WHERE 子句。
所以这个查询说,“选择出现在任何地方(//)的“a”标签的“href”属性(@),但只有在(括号内的短语)“a”标签的文本内容等于“编程问题网站'”。
对于不区分大小写的包含,请使用以下内容:
//a[contains(translate(text(),'PROGRAMMING','programming'), 'programming')]/@href
translate 将 PROGRAMMING 中的大写字母转换为小写编程。
如果您使用的是 html 敏捷包,请使用 getattributeValue:
$doc2.DocumentNode.SelectNodes("//div[@class='className']/div[@class='InternalClass']/a[@class='InternalClass']").GetAttributeValue("href","")
不定期副业成功案例分享
http
或某些关键字的节点吗?