用于爬行的XPath following-sibling不返回sibling



我试图创建一个爬虫从供应商网站提取一些属性数据,我可以审计我们的内部属性数据库和新的import.io。我看了很多视频,但是尽管我的语法似乎是正确的,我的手动xpath覆盖没有返回属性值。我有以下示例html代码:

<table>
<tbody><tr class="oddRow">
<td class="label">&nbsp;Adhesive Type&lrm;</td><td>&nbsp;Epoxy&lrm;
</td>
</tr>
<tr>
<td class="label">&nbsp;Applications&lrm;</td><td>&nbsp;Hard Disk Drive Component Assembly&lrm;
</td>
</tr>
<tr class="oddRow">
<td class="label">&nbsp;Brand&lrm;</td><td>&nbsp;Scotch-Weld&lrm;
</td>
</tr>
<tr>
<td class="label">&nbsp;Capabilities&lrm;</td><td>&nbsp;Sustainability&lrm;
</td>
</tr>
<tr class="oddRow">
<td class="label">&nbsp;Color&lrm;</td><td>&nbsp;Clear Amber&lrm;
</td>

我试图写一个xpath下面的兄弟语句,通过导入抓取"颜色"。io履带。当我选择"Color"时,xpath代码是:

//*[@id="attributeList"]/table/tbody/tr[5]/td[1]

我试过使用:

//*[@id="attributeList"]/table/tbody/tr/td[.="Color"]/following-sibling::td

但是它没有从表中抓取颜色属性值。我不确定它是否与奇数和偶数行类有关?当我看html时,它似乎合乎逻辑;color为" color ",属性值在后面的td括号中

所选td节点中的文本不仅包含"Color"。它是&nbsp;Color&lrm;。因此,您可以选择td节点,其文本包含字符串"Color":

'//*[@id="attributeList"]/table/tbody/tr/td[contains(text(), "Color")]/following-sibling::td/text()'

相关内容

  • 没有找到相关文章

最新更新