网页自动化 = 让机器人像人一样在浏览器里点、填、翻、抓——核心只有一件事:元素定位(怎么让机器人认出【就是这个按钮】);学会它,加上等待策略与合规边界,就能把大量网页端的重复劳动接过来。
1.5.2 学的三结构+变量是【内功】,本节开始【外功】:把动作落到浏览器上。这一节是本课后面所有实战案例的基础——第 2 章起的小红书、公众号、今日头条案例,RPA 侧的动作全在这一节的范围内。
一、网页自动化的五个基本动作
| 动作 | 做什么 | 常见组件 |
|---|---|---|
| 打开/跳转 | 打开网址、点击链接进入详情页 | 打开网页、点击链接 |
| 填写 | 在输入框、下拉框、复选框里操作 | 输入文本、选择下拉项、勾选 |
| 点击 | 提交按钮、翻下一页 | 点击元素 |
| 抓取 | 提取页面上的文字、链接、表格 | 获取元素文本、获取相似元素列表 |
| 等待 | 等页面加载、等元素出现 | 等待元素出现/消失 |
其中【抓取】是 RPA 的价值核心——因为【批量取数据】才是人做得最痛苦、机器人做得最舒服的事。
二、元素定位:本节的全部重点
问题:你怎么告诉机器人【点那个按钮】?
答案:给机器人一个【定位条件】,它去页面里找。方式有三种(1.4.2 讲过的排序在这里具体化):
| 方式 | 稳定性 | 说明 | 什么时候用 |
|---|---|---|---|
| 用元素属性(推荐) | ⭐⭐⭐ | 平台自动识别元素的标签、ID、类名等 | 首选,绝大多数现代网页都支持 |
| 用文本内容 | ⭐⭐ | 按界面上显示的文字找(如【提交】按钮) | 按钮有稳定文案时 |
| 用图像/坐标 | ⭐ | 截图匹配或记住位置 | 最后的兜底,尽量别用 |
实操方法:平台的【拾取元素】功能——鼠标去点页面上的目标,它自动把定位信息记下来。
拾取之后必做的一件事:检查一下定位条件是不是【太具体了】。比如它可能记成了【第 3 个 div 里的第 2 个按钮】——这种定位页面一变就废。理想情况下,它会记成一个能说明【业务含义】的属性(比如【登录按钮】这个名字)。
三、三个必踩的坑与解法
坑 1:相似元素列表(翻页抓取)
抓列表页时,不要一条一条拾取(页面上一共 20 条,第二天可能有 25 条)。要用【相似元素】功能:拾取第一条,平台自动识别出【同一类元素】,一次拿到全部。
坑 2:动态加载
很多页面滚动到那里才加载。解法:抓之前先【滚动到底部】或【等待元素出现】,别抓完发现只有前 10 条。
坑 3:等待策略(本节的重量级考点)
| 策略 | 写法 | 评价 |
|---|---|---|
| 固定等待 | 无条件等 3 秒 | ❌ 网络快时白等,慢时不够 |
| 条件等待(推荐) | 等待【某元素出现】再继续,最多等 30 秒 | ✅ 快慢自适应 |
| 重试 | 失败后重试 N 次,每次间隔递增 | ✅ 应对偶发抖动 |
老教程通篇写【等待 3 秒】是历史局限;现在一律优先用等待元素出现类的组件。这三条合起来,就是 1.4.2 里【从能跑到能放心】的具体做法。
四、登录这件事:现实比教程复杂
网页数据多数要登录才能看。三种做法:
| 做法 | 说明 | 适用 |
|---|---|---|
| 手动登录后接管 | 先自己登录好,再让流程操作同一个浏览器窗口 | 学习、个人使用(最省事) |
| 流程里自动填写账号密码 | 机器人输入账号密码点登录 | 简单场景,但密码会存在流程里,要格外注意安全 |
| 使用登录态/Cookie | 保存登录状态复用 | 进阶,稳定性最好 |
绕不开的现实:
- 验证码:短信验证码、滑块、图形验证码——平台通常提供人工介入组件(弹出提示让你输),或对接打码服务(有成本、有合规问题);
- 扫码登录:可以设计成【流程暂停 → 你扫码 → 流程继续】。
① 遵守目标网站的 robots.txt 与用户协议,明确禁止抓取的不要抓; ② 控制频率,别把人家网站当压测对象;批量请求之间留间隔; ③ 不抓个人信息、不抓受版权保护的内容用于传播; ④ 账号安全:自己的账号被风控封了是最轻的后果,用别人的账号或收集他人数据可能违法。 本课的所有案例都在【处理自己账号、自己内容】的范围内——发布自己的内容、抓取自己后台的数据。这条边界请守住。
五、动手 Demo:抓一张列表到表格
准备:影刀 + 已装浏览器插件的浏览器。目标页面建议选一个允许抓取的公开列表页(例如某公开新闻站点的列表页)。
第一步——打开页面:拖【打开网页】组件,填目标网址。
第二步——拾取元素: 1. 拖一个【获取相似元素列表】(或【批量数据抓取】类组件); 2. 点【拾取元素】,去点列表里的第一条标题; 3. 平台会高亮出所有同类元素——确认是不是抓到了全部标题(通常会显示【已识别到 N 个相似元素】)。
第三步——写入表格:
1. 拖【写入 Excel】组件;
2. 让它的数据源指向第二步的输出变量;
3. 指定保存路径(比如桌面上的 抓取测试.xlsx)。
第四步——运行。
看到什么算成功:桌面上生成了 xlsx,里面是一整列标题(不是只有一条)。
读结果:
- 只有一条 → 说明你用的是【获取元素】而不是【相似元素列表】,回去换组件;
- 抓到了但带着一堆空格/换行 → 加一个文本处理步骤(去除首尾空格),这一步不做,后面的数据全是脏的;
- 想加翻页 → 在流程外面套一层循环:抓一页 → 点【下一页】→ 判断【下一页是否还能点】→ 不能就结束循环。这就是 1.5.2 的三结构在网页上的实战。
进阶验证(很值):打开你抓的那个页面,按 F12 看其中一个标题的 HTML,对照平台记录的定位条件——你能亲眼看到【RPA 到底抓的是哪个东西】。
30 秒实验
在抓取流程里,把【等待】相关组件全部删掉,然后在网络比较慢的时候跑一次(或者同时开着视频下载占带宽)。
观察:成功率明显下降,报错通常是【元素不存在】。
结论:等待策略不是可选项——它决定了你的流程是【在实验室能跑】还是【在真实网络环境下能跑】。
常见误区
- 【一个元素一个元素地拾取】——列表类数据必须用相似元素,否则你的流程处理不了【条数变化】。
- 【写固定等待时间】——见第三节的对照表:优先用条件等待。
- 【抓到的文字直接用】——真实网页的文字常常带空格、换行、特殊符号、以及隐藏的零宽字符。抓完先清洗,再入库。
- 【用力过猛,秒级高频抓取】——既可能被封,也可能拖慢对方服务。留间隔,做文明爬虫。
- 【我是个人学习,合规不用管】——技术不分大小,边界一样。这条红线在 1.4.3 提到过、本节再强调一次:只处理自己的账号与自己的内容。
自测三问(点开对答案)
1. **元素定位的三种方式及推荐顺序?** 用元素属性(最稳,首选)→ 用文本内容(次之)→ 用图像/坐标(兜底,尽量别用)。**老教程大量用图像识别是历史局限。** 2. **抓列表页为什么必须用【相似元素】?** 因为列表**条数会变**(今天 20 条明天 25 条)。逐条拾取等于把【每一条】写死,条数一变流程就漏数据或报错。**相似元素一次识别整类,自动适应条数变化。** 3. **网页自动化的三条合规红线?** ① 遵守 robots.txt 与用户协议;② 控制请求频率、不干扰对方服务;③ 不抓个人信息、不抓受版权保护的内容用于传播。**本课所有案例限定在【处理自己账号、自己内容】范围内。**- ☐ 下一节(1.5.4 桌面软件自动化)
相关笔记
- RPA 的核心能力 —— 元素定位四种方式的可靠性排序
- 基本逻辑结构 —— 循环与条件(翻页抓取的内功)
- 桌面软件自动化 —— 没有网页只有客户端的场景怎么办
- 网络 4.2 · 制作Web网页 —— 看懂 HTML 才看得懂元素定位
- 🤖 Agent+RPA实战 · 索引 —— 全课路线图