样例页面 https://www.battlenet.com.cn/forums/zh/sc2/search?q=%E5%85%B1%E4%BA%AB&forum=

路径 //*[@class='Post--searchPage']/a/@href

定位不到a标签 所以取不到href属性 很蛋疼
举报 使用道具
| 回复

共 4 个关于本帖的回复 最后回复于 2017-10-18 10:01

沙发
umsung 高级会员 发表于 2017-10-16 18:23:07 | 只看该作者
可以定位到啊,要取href属性,直接内容映射@herf不可以吗?
举报 使用道具
板凳
nease530 新手上路 发表于 2017-10-16 18:33:24 | 只看该作者
umsung 发表于 2017-10-16 18:23
可以定位到啊,要取href属性,直接内容映射@herf不可以吗?

页面里这么多a元素 而且还有很多包含href属性的非a元素
只想取//*[class='Post--searchPage']下的a元素的herf属性
举报 使用道具
地板
Fuller 管理员 发表于 2017-10-16 19:29:23 | 只看该作者
nease530 发表于 2017-10-16 18:33
页面里这么多a元素 而且还有很多包含href属性的非a元素
只想取//*[class='Post--searchPage']下的a元素的 ...

这个网页十分奇怪,直接按照你给的xpath定位不到节点,看这个DOM,在A节点下面在放DIV是比较少见的,但是为什么定位不到还需要检查。用下面的方法可以采集



采集多样例的时候,我用的是定位标志映射,而没有用样例复制映射,而且,选择定位标志的时候,特意跳过A节点,找到子节点,这样生成的xpath会跳过A。因为就是A造成xpath失效。

然后我用自定义xpath采集href


用表达式 ../@href 可以回溯到父节点上去采集数据
举报 使用道具
5#
nease530 新手上路 发表于 2017-10-18 10:01:05 | 只看该作者
Fuller 发表于 2017-10-16 19:29
这个网页十分奇怪,直接按照你给的xpath定位不到节点,看这个DOM,在A节点下面在放DIV是比较少见的,但是 ...

的确 使用子节点定位 到父节点取值的方式可行

xpath无法定位a元素的问题 倒是可以研究一番 哈哈

谢谢管理员

举报 使用道具
您需要登录后才可以回帖 登录 | 立即注册

精彩推荐

  • Gephi社会网络分析-马蜂窝游记文本分词并同
  • Gephi社会网络分析-基于马蜂窝游记文本以词
  • 知乎话题文本根据词语间距筛选后生成共词矩
  • 马蜂窝游记文本分词后以词语间距为筛选条件
  • 学习使用apriori算法挖掘关联关系

热门用户

GMT+8, 2024-5-21 07:40