xpath无法匹配

想要爬取汽车之家某个车型的经销商参考价:
图片描述

部分html如下:
图片描述

使用 response.xpath('//*[@class="font-price"]'), 却什么都匹配不到,请问是为什么?

使用 response.xpath('//*[@id="cityDealerPrice"]') 可以匹配到那个li
但是用 response.xpath('//*[@id="cityDealerPrice"]/span')就匹配不到这个li下面包括的span了,难道说span没法匹配?

阅读 5.4k
3 个回答

链接不给出来,
我怀疑是静态源码里面根本没有找个数字,
是json异步传输的

你需要数据都在这哥链接里面

http://dealer.autohome.com.cn/frame/kdspec/26670/310000/310100/0/0/1/5?isPage=0&seriesId=2678&source=defalut&kindId=-1&isPriceAuth=0

匹配class不够精准,建议用id,还有可能是元素未完全加载至页面可见,应该使用selenium 3.0里面的等待元素加载完毕再定位元素.

用response.xpath('//*[@id="cityDealerPrice"]/span/span[@class="font-price"]')试试呢,因为id="cityDealerPrice"下面有两个span才能定位到你的价格。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题