🤖 第一章 Agent与RPA基础
📄 一句话概括

网页自动化 = 让机器人像人一样在浏览器里点、填、翻、抓——核心只有一件事:元素定位(怎么让机器人认出【就是这个按钮】);学会它,加上等待策略与合规边界,就能把大量网页端的重复劳动接过来。

📝 本节和前面几节的关系

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. 只有一条 → 说明你用的是【获取元素】而不是【相似元素列表】,回去换组件;
  2. 抓到了但带着一堆空格/换行 → 加一个文本处理步骤(去除首尾空格),这一步不做,后面的数据全是脏的;
  3. 想加翻页 → 在流程外面套一层循环:抓一页 → 点【下一页】→ 判断【下一页是否还能点】→ 不能就结束循环。这就是 1.5.2 的三结构在网页上的实战。

进阶验证(很值):打开你抓的那个页面,按 F12 看其中一个标题的 HTML,对照平台记录的定位条件——你能亲眼看到【RPA 到底抓的是哪个东西】。

30 秒实验

在抓取流程里,把【等待】相关组件全部删掉,然后在网络比较慢的时候跑一次(或者同时开着视频下载占带宽)。

观察:成功率明显下降,报错通常是【元素不存在】。

结论:等待策略不是可选项——它决定了你的流程是【在实验室能跑】还是【在真实网络环境下能跑】。

常见误区

  1. 【一个元素一个元素地拾取】——列表类数据必须用相似元素,否则你的流程处理不了【条数变化】。
  2. 【写固定等待时间】——见第三节的对照表:优先用条件等待。
  3. 【抓到的文字直接用】——真实网页的文字常常带空格、换行、特殊符号、以及隐藏的零宽字符。抓完先清洗,再入库。
  4. 【用力过猛,秒级高频抓取】——既可能被封,也可能拖慢对方服务。留间隔,做文明爬虫。
  5. 【我是个人学习,合规不用管】——技术不分大小,边界一样。这条红线在 1.4.3 提到过、本节再强调一次:只处理自己的账号与自己的内容。
自测三问(点开对答案) 1. **元素定位的三种方式及推荐顺序?** 用元素属性(最稳,首选)→ 用文本内容(次之)→ 用图像/坐标(兜底,尽量别用)。**老教程大量用图像识别是历史局限。** 2. **抓列表页为什么必须用【相似元素】?** 因为列表**条数会变**(今天 20 条明天 25 条)。逐条拾取等于把【每一条】写死,条数一变流程就漏数据或报错。**相似元素一次识别整类,自动适应条数变化。** 3. **网页自动化的三条合规红线?** ① 遵守 robots.txt 与用户协议;② 控制请求频率、不干扰对方服务;③ 不抓个人信息、不抓受版权保护的内容用于传播。**本课所有案例限定在【处理自己账号、自己内容】范围内。**

相关笔记