news 2026/5/3 0:28:06

【实战案例】火语言 RPA 『获取多元素信息/属性值』抓取网页数据案例

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【实战案例】火语言 RPA 『获取多元素信息/属性值』抓取网页数据案例

之前我们用「表格数据提取」(https://www.huoyuyan.com/community/detail.html?id=396) 组件抓网页数据很方便,今天分享用「获取多元素信息/属性值」获取数据的方法,更灵活适配不同页面。

一、案例功能概述

抓取该网页的蔬菜价格(https://www.jnmarket.net/fruitsvegetables/dailyprice/vegprice ),包含产品名称、产地、最高价 / 最低价等字段。
区别于之前使用「表格数据提取」组件,这次咱们用「获取多元素信息/属性值」(提取网页元素的 outerHTML),再结合 XPath 解析字段 —— 适合表格结构不太规整、但能通过元素路径定位的页面。

二、实现的逻辑

整个流程是 “初始化→翻页循环→抓元素集合→解析字段→存数据”,简单说:
1、打开浏览器 + 访问目标网页,新建表格存数据;
2、用 While 循环实现翻页(控制 “下一页” 按钮的点击);
3、抓网页中所有数据行的 outerHTML 集合;
4、遍历集合,用 XPath 提取每个字段的内容;
5、把字段写入表格,最后导出 Excel。

三、实现的步骤

组件1、打开浏览器,选择浏览器类型


组件2、浏览网页,输入网址URL:https://www.jnmarket.net/fruitsvegetables/dailyprice/vegprice


组件3、表格打开或新建,新建空表格用于存储数据


组件4、表格数据初始化,初始化表格列头


组件5、For循环,为了演示,这里使用For循环限制一下采循环次数。


组件5.1、获取多元素信息/属性值,获取数据行的元素集合
目标元素 XPath:/tbody[@class='n-data-table-tbody']/tr(定位网页里的所有数据行)
属性:选outerHTML(把整行的 HTML 内容存下来)
输出变量:list(后续遍历使用)


组件5.2、ForEach循环,循环遍历list


组件5.2.1-5.2.7 Xpath提取,在 ForEach 循环内,拖 7 个「XPath 提取」组件(对应 7 个字段),每个组件参数如下:

字段XPath 提取的参数设置输出变量
产品名称源HTML文本T:{{item}};XPath:./tr/td[1],属性:源代码输出变量:产品名称
产地源HTML文本T:{{item}};XPath:./tr/td[2]/span/span,属性:源代码输出变量:产地
最高价源HTML文本T:{{item}};XPath:./tr/td[3],属性:源代码输出变量:最高价
最低价源HTML文本T:{{item}};XPath:./tr/td[4],属性:源代码输出变量:最低价
参考价源HTML文本T:{{item}};XPath:./tr/td[5],属性:源代码输出变量:参考价
规格源HTML文本T:{{item}};XPath:./tr/td[6],属性:源代码输出变量:规格
日期源HTML文本T:{{item}};XPath:./tr/td[7],属性:源代码输出变量:日期


组件5.2.8、打印日志,打印以上输出的结果,便于调试诊断
['{{产品名称}}','{{产地}}','{{最高价}}','{{最低价}}','{{参考价}}','{{规格}}','{{日期}}']
打印出来的结果:
['<!---->蒜头','江苏/河南','<!---->9','<!---->8','<!---->8.4','<!---->箱','<!---->2025-12-16']
组件5.2.9、字符串替换,根据上一步打印出来的结果,那么使用字符串替换,将<!---->替换成空值,
替换后样式:['蒜头','江苏/河南','9','8','8.4','箱','2025-12-16']


组件5.2.10、表格数据写入,创建整数变量行索引rowIndex,默认是0
写入到:
写入方式:追加
列索引:0-6
指定单行索引:{{rowIndex}}


组件5.2.11、变量赋值,给rowindex++操作(行号 + 1,下一行继续写)。


组件5.3、鼠标/元素点击,点击翻页按钮


组件6、表格数据导出,导出数据到指定路径

四、避坑指南

在实操中会疑问,变量rowindex到底是什么?流程为啥能 “认得出” 它对应表格的行?其实超简单 ——它不是流程天生认识的 “特殊变量”,是自定义的 “行索引标记”,通过参数绑定告诉流程:这个数对应表格的第几行。

咋用,分三步:

步骤1、先告诉它从哪行开始,

先创建一个变量:rowindex,(自定义的名字,你也可以叫hanghao/行号等,只要前后统一就行);
赋值内容:0(火语言 RPA 的表格行索引从 0 开始,0 对应 “表头下方的第一行数据行”)。
这一步的意思:告诉流程 “一开始,先把数据写到表格的第 一 行”。

步骤2、把rowindex绑定到「表格数据写入」组件的 “行索引” 参数

在「表格数据写入」组件里,找到 “行索引” 这个参数,填入{{rowindex}}(T模式下用{{rowindex}},#模式下:rowindex)。
「表格数据写入」组件的 “行索引” 参数,是专门用来指定 “要把数据写到表格第几行” 的 —— 咱们把rowindex变量填进去,就等于告诉流程:“用rowindex这个变量里的数字,作为写入的行号”。

步骤3、变量赋值:每写一行,让rowindex+1(避免覆盖)

直接写rowindex++,火语言 RPA 支持自增
这一步的意思:“写完当前行,下一条数据要写到下一行”。

完整案例分享: https://www.huoyuyan.com/share.html?key=eyJhdXRvQ29kZSI6IkZhbHNlIiwia2V5IjoiYWI4OTU1NWE0NDg0NDlmNjk4MGU2MjQzMmI1MzYwZWQifQ== 提取码: Des8

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/25 12:15:38

STM32如何实现低成本视觉系统:5步连接USB摄像头

STM32如何实现低成本视觉系统&#xff1a;5步连接USB摄像头 【免费下载链接】STM32_HOST_UVC_Camera Example of connecting USB Web camera to STM32F4 USB HOST 项目地址: https://gitcode.com/gh_mirrors/st/STM32_HOST_UVC_Camera 在嵌入式视觉应用开发中&#xff0…

作者头像 李华
网站建设 2026/4/23 13:21:16

错过再等一年?MCP量子编程认证冲刺班限时开放领取!

第一章&#xff1a;MCP量子编程认证概述MCP量子编程认证&#xff08;Microsoft Certified Professional in Quantum Programming&#xff09;是微软为开发者在量子计算领域设立的专业技术认证&#xff0c;旨在验证开发者对Q#语言、量子算法设计及Azure Quantum平台的掌握程度。…

作者头像 李华
网站建设 2026/4/23 17:10:09

Vue2实现PC端高德地图选点功能

效果图一、功能概述基于 Vue2 高德地图 JS API 2.0 实现 PC 端地址选点功能&#xff0c;支持定位当前位置、关键词搜索地址、地图点击选点、地址信息回显&#xff0c;采用父子组件分离设计&#xff0c;子组件封装地图核心能力&#xff0c;父组件通过弹窗调用并接收选点结果。二…

作者头像 李华
网站建设 2026/5/2 18:42:07

27、Linux 文件安全与文件系统导航

Linux 文件安全与文件系统导航 1. Linux 文件所有权与权限设置 在多用户操作系统(如 Linux)中,文件安全至关重要,而所有权是安全难题的一部分。在 Linux 里,每个文件都有一个所有者和一个关联的组。超级用户可以使用 chown 命令设置文件所有者,超级用户或文件所有者可…

作者头像 李华
网站建设 2026/4/19 0:29:47

7个必学diagrams样式定制技巧:让你的架构图从平庸到惊艳

7个必学diagrams样式定制技巧&#xff1a;让你的架构图从平庸到惊艳 【免费下载链接】diagrams :art: Diagram as Code for prototyping cloud system architectures 项目地址: https://gitcode.com/GitHub_Trending/di/diagrams 还在为技术文档中的架构图千篇一律而苦恼…

作者头像 李华