Xpath 选择当前节点的下一个父节点

标签 xpath import.io

如果 tr 包含 class="productnamecolor colors_productname" 我想选择下一个包含价格详细信息的 tr。所以我使用:

.//a[@class="productnamecolor colors_productname"]/parent::node()/following-sibling::tr

但是没有用。这个表达式有什么问题?

HTML:

<tr> 
 <td valign="top" width="100%">
  <a href="unclesamsretailoutlet.com/Trouser-Suspenders-8440015269920-p/…; class="productnamecolor colors_productname" title="Trouser Suspenders, 2323">Trouser Suspenders</a> 
  </td>
</tr>

提前致谢

最佳答案

您的 <a> 的父级元素是 td元素,以及 td元素没有后续兄弟 - 当然不是以下兄弟是 tr .如果您想要表格中的下一行,请使用

.//a[@class="..."]/ancestor::tr[1]/following-sibling::tr[1]

.//tr[descendant::a/@class="..."]/following-sibling::tr[1]

关于Xpath 选择当前节点的下一个父节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38682323/

相关文章:

python - Xpath() 方法不使用 Scrapy 返回结果

xml - 具有单独父元素子元素条件的 XPath 表达式

import.io - 使用 XPath 显示隐藏数据

javascript - Import.io(网络爬虫)不断查询但没有输出

php - 通过 cURL 访问 import.io API 时无法获取 JSON 结果中的实际 html

xpath - 如何在不具有名称的sql查询中获取xmlelement的子级?

C# 使用 xpath 解析 html

python - selenium.common.exceptions.NoSuchElementException : Message: no such element: Unable to locate element: {"method" :"css selector" ,"selector" :".ui flu~"}

javascript - 我应该使用 Xpath 还是 regexp 来实现此目的?

web-scraping - 是否可以在 import.io 中重新运行网络爬虫?