开发者社区> 问答> 正文

我想做一个商品价格采集的阿里云RPA机器人,采集的不止一种商品,遇到了以下问题请问怎么解决?

我想做一个商品价格采集的机器人,采集的不止一种商品,但是出现的问题是,
①在网页上采集不到商品的价格,但控件验证的时候是可以的;
②还有第一个价格出来了,第二个商品的价格在循环里出现的还是第一个的价格,往后就说等待控件超时了,这是个什么情况?

展开
收起
乐天香橙派 2023-11-30 21:17:20 37 0
来自:阿里云RPA
2 条回答
写回答
取消 提交回答
  • 估计是控件错了, 看下具体的—此回答来自钉群“阿里云RPA官方群4”

    2023-12-01 10:53:48
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在创建商品价格采集机器人时,你可能遇到的问题通常与网页结构、数据加载机制或自动化工具的配置有关。以下是针对你的问题的一些潜在解决方案:

    问题①:在网页上采集不到商品的价格,但控件验证的时候是可以的

    1. 检查页面元素是否动态加载:有些网站会使用 AJAX 或其他技术动态加载内容。在这种情况下,你需要等待内容加载完成后再尝试抓取价格。

    2. 更新网页元素选择器:确保你使用的 CSS 选择器或者 XPath 表达式能够正确地定位到包含价格信息的 HTML 元素。

    3. 检查网页源代码:如果你在浏览器中查看网页源代码,发现价格不在那里,那可能是由于价格是由 JavaScript 动态生成的。这时,你可以考虑使用更高级的工具(如 Puppeteer)来模拟用户行为并获取渲染后的页面内容。

    4. 分析网络请求:使用开发者工具中的“网络”面板观察与价格相关的网络请求。这可以帮助你理解数据是如何从服务器传输到客户端的,并找到正确的数据源。

    5. 使用调试模式:启用自动化工具的调试模式以逐步执行代码并观察每个步骤的行为。这样可以更容易地识别出问题所在。

    问题②:第一个商品的价格出来了,第二个商品的价格在循环里出现的还是第一个的价格,往后就说等待控件超时了

    1. 清除缓存和状态:每次循环开始时,确保清除之前收集的数据以及任何可能影响下一次循环的内部状态。

    2. 适当延时:为每个循环添加一个适当的延迟时间,让页面有足够的时间去加载新的商品信息。

    3. 检查页面滚动:如果商品列表是分页显示的,确认你在每次循环中都正确地滚动到了下一页。

    4. 确保索引变量正确:确保你的循环变量被正确地递增并在每次迭代中用于定位不同的商品。

    5. 测试单个循环实例:为了更好地诊断问题,先单独测试一个循环实例,确保它能正常工作,然后再将其放入循环中。

    6. 重新构造循环逻辑:如果当前的循环结构无法解决问题,考虑重新设计循环逻辑,例如使用递归或者其他更适合的方法。

    2023-11-30 22:24:26
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
+ 订阅
阿里云RPA历经8年的内部验证,覆盖了阿里巴巴大部分BU,实现了电商客服、新零售等新兴行业的渗透,并且已经完成在保险、金融、医疗保健等领域的场景深耕,联合合作伙伴具备深度定制化能力和稳定交付能力,积累了丰富的行业可行性解决方案。目前阿里云RPA能集成并运行在更高的软件层级,这就决定了它不会侵入、影响已有的软件系统。在帮助企业提升效能的过程中,保持企业已有的IT系统功能平稳、运行可靠。
问答排行榜
最热
最新

相关电子书

更多
阿里云产品十一月刊来啦! 立即下载
阿里云产品安全基线白皮书 立即下载
云原生产业大会:阿里云精彩内容集锦 立即下载