如何使用XPATH查找名为* logo *的图像,或者其中有一个带有* logo *的类?

时间:2016-09-28 09:47:38

标签: xpath

我正在创建一个抓取工具,需要从抓取的每个网站下载徽标。

很难确定哪个图像是徽标,但我不需要100%准确度,因此我只想查找满足以下任何条件的<img>标记:< / p>

一个。 <img>标记中的图片名称包含&#34;徽标&#34;在其中,例如:

<img src="logo.gif">
<img src="site-logo.jpg">
<img src="mainlogo.png">

B中。 class标记中的id<img>在其中包含徽标,例如:

<img class="logo" src="something.gif">
<img id="main-logo" src="something.gif">
<img class="background logo" src="something.gif">

我已尝试关注W3C XPATH documentation,但它不是非常用户友好。我也试过使用那些应该是通配符(根据w3schools),但它们似乎没有按预期工作。

是否有可能使用XPATH实现我想要的功能?你能帮忙提供一些指针或示例代码吗?

谢谢。

1 个答案:

答案 0 :(得分:2)

您可以使用:

/html/body//img[contains(@src, 'logo') or contains(@id, 'logo') or contains(@class, 'logo')]

会找到img标记后代的所有body标记,其中srcidclass属性包含文字{ {1}}。

相关问题