xpath获取不到数据

文章讲述了在JavaScript中使用XPath时遇到的问题,即在代码中无法获取选中的元素。作者建议使用ID选择器,若遇到问题可尝试将页面下载到本地,利用浏览器的XPath工具获取正确路径,然后在本地路径下进行元素抓取。
摘要由CSDN通过智能技术生成

你是否也遇到过,在浏览器中选中了某个元素后,再copy xpath,想在代码中获取到你选中的元素,但是代码中显示结果为空。再三检查代码也没有发现异常,为什么就是获取不到数据呢?
使用xpath插件,能获取到正确的数据,为什么就是到代码中就不行了呢?在这里插入图片描述
原因多多,就不一一列举了,我们直接说解决办法吧。如果有ID选择器,我们最好使用ID选择器,因为具有唯一性,类选择器的话,结果就不好说了。
但是我们最简单粗暴的办法就是,用我们的requests请求把当前页面下载到本地来,如下:

ppt_info = requests.get(url=ppt_href, headers=headers)
ppt_info.encoding = 'utf-8'
s = open('a.html', 'w', encoding='utf8')
s.write(ppt_info.text)

下载到本地后,我们再使用浏览器打开,获取xpath
在这里插入图片描述
在这里插入图片描述
不要看现在页面内容显示不全,这丝毫不影响我们copy xpath,两次copy xpath的结果如下,一个是原网页的,一个是下载到本地的,可以看到两个xpath有差异。我们只需要使用本地的这个xpath就能猎取到我们想要的元素了,就不会再爬出个空了。

/html/body/div[5]/div[1]/div[4]/div[2]/div[1]/a[1]
/html/body/div[4]/div[1]/div[4]/div[2]/div[1]/a[1]

欢迎大家加V,一起学习,共同进步。

  • 10
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值