如何使用XPath查找未设置ALT属性的图片?
正确的XPath表达式查找未设置ALT属性的图片
嘿,我来帮你搞定这个问题!你之前用的//img[not contains(@alt)]确实不对,原因有两个:一是contains()函数需要两个参数(要检查的字符串和要查找的子串),你漏了第二个参数;二是这个函数本来就不是用来判断属性是否存在的,它是用来检查属性值里是否包含某个特定内容的。
根据你的需求——查找完全没有设置alt属性的img标签,同时排除那些设置了alt但值为空的(比如alt=""),正确的XPath表达式是:
//img[not(@alt)]
简单解释下逻辑:
@alt在XPath中代表当前节点存在alt这个属性not(@alt)就会筛选出所有不存在alt属性的img元素,刚好完美避开那些有alt属性但值为空的情况。
如果之后你需要反过来查找“设置了alt属性但值为空”的图片,也可以用这个表达式参考:
//img[@alt=""]
内容的提问来源于stack exchange,提问作者Evgeniy
相关产品推荐
相关产品推荐

