首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在XPath中使用XPath()?

如何在XPath中使用XPath()?
EN

Stack Overflow用户
提问于 2018-06-26 18:42:42
回答 1查看 2.1K关注 0票数 3

我试图从一个网页收集信息,但找不到正确的XPath。以下是一篇来自网站的文章:

代码语言:javascript
复制
<div class="posted">
  <div>
    June 20, 2018
  </div>
</div>

我想搜索每一页上写着"posted“的除法类,然后以字符串的形式返回它下面的所有内容。(乱七八糟的字符串是可以的;我只会用“possibleDate”中的"if“"2018”来搜索年份)下面是我正在尝试的:

代码语言:javascript
复制
possibleDate = str(tree.xpath("//div[contains(@class, ’posted’)]//@text"))

它说它是一个无效的表达式。

我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-26 18:44:47

首先,将字符替换为围绕posted'字符。

接下来,将@text替换为text(),以消除XPath语法错误。

此外,您可能希望使用所选div的空间规范化字符串值,而不是选择文本节点:

代码语言:javascript
复制
possibleDate = str(tree.xpath("normalize-space(//div[@class='posted'])")

这将抽象出嵌套在目标div中的标记变体。

也请参阅: xpath: find a node whose class attribute matches a value and whose text contains a certain string

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51049546

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档