使用Content Egg插件通过XPath无法抓取Trazy页面价格,求正确规则
根因说明
目标页面售价由JavaScript动态渲染生成,页面初始静态源码中对应span节点默认值为0,仅在JS执行、拉取定价接口完成后才会填充实际售价。现有测试的XPath可正常定位节点,但因默认抓取静态源码内容,因此返回值为0。
前置配置要求
需先开启Content Egg插件的JavaScript动态渲染抓取功能,未开启该功能时无法获取动态渲染后的真实价格。
有效XPath规则
提供两种适配场景的规则可选:
- 类名精准匹配(抗页面结构迭代能力更强):
//div[contains(@class, 'price-desktop')]//span[contains(@class, 'selling') and contains(@class, 'notranslate')]/text() - 索引匹配(页面结构固定时写法更简洁):
//div[@class='price-desktop']//span[2]/text()
验证方法
若配置后仍返回异常,可在浏览器中禁用JavaScript后刷新目标页面,查看对应节点的文本是否和抓取结果一致,即可快速定位是否为动态渲染导致的问题。
内容的提问来源于stack exchange,提问作者chobocoder
相关产品推荐
相关产品推荐

