我有这样的HTML代码:
<a href="/images/big_1.jpg" class="class-a">
<img class="class-img" src="/images/small_1.jpg"/>
<span class="class-span">
<img src="/images/img_1.png">
</span>
</a>
<a href="/images/big_2.jpg" class="class-a">
<img class="class-img" src="/images/small_2.jpg"/>
<span class="class-span">
<img src="/images/img_2.png">
</span>
</a>
我成功地从第一个/一个标签中抓取了所有网址:
//a[@class="class-a"]/@href
例如,它将返回此URL:
/images/big_1.jpg,/images/small_1.jpg,/images/img_1.png
但我只需要这个网址:
/images/big_1.jpg,/images/big_2.jpg
请帮助!
答案 0 :(得分:0)
//a[@class="class-a"]/@href
只会使用“class-a”href
属性返回a
元素的class
属性值。在你的情况下,这些是:
/images/big_1.jpg,/images/big_2.jpg
换句话说,您当前的方法是正确的。
如果您的意思是获取src
元素的href
和a
属性以及所有子元素。如果是这种情况,您可以使用descendant-or-self
和@*
与name()
一起检查属性名称:
//a[@class = 'class-a']/descendant-or-self::*/@*[name() = 'src' or name() = 'href']