如何编写XPath提取指定HTML中img标签的alt文本?
提取img标签alt文本的XPath解决方案
嘿,这就给你搞定!针对你提供的这段HTML结构,我整理了几个实用的XPath方案来提取img标签的alt文本:
首先先回顾下你给出的目标HTML代码:
<li class="m-navbar-item bottom-border float-left m-navbar-thumbnail"> <img alt="Always There"> </li>
方案1:精准定位(结合父元素特征)
如果想避免匹配到页面中其他无关的img标签,可以结合父元素li的class属性来缩小范围,这个写法针对性更强:
//li[contains(@class, 'm-navbar-thumbnail')]/img/@alt
解释一下:
//li:选取页面中所有的<li>元素[contains(@class, 'm-navbar-thumbnail')]:筛选出class属性包含m-navbar-thumbnail的<li>(用contains是因为li的class有多个值,避免精确匹配时漏选)/img/@alt:定位到该li下的img子元素,提取它的alt属性值
方案2:简洁直接定位
如果页面中这个目标img是唯一的,或者你需要提取所有img的alt文本,直接用这个写法就够了:
//img/@alt
测试小技巧
要是想在浏览器控制台快速验证的话,可以用下面的代码(以Chrome为例):
$x("//li[contains(@class, 'm-navbar-thumbnail')]/img/@alt")[0].value
执行后就能直接得到Always There这个结果啦。
内容的提问来源于stack exchange,提问作者user3538483
相关产品推荐
相关产品推荐

