本文作者是八爪鱼RPA初学者文章内会出现专业用语不标准的情况写文仅做学习总结与抛砖引玉之用如有谬误请多海涵一、基础知识学习阶段Step1了解如何查看浏览器网页元素① Edge浏览器打开网页单击右键点击检查②360浏览器打开网页单击右键点击审查元素Step2了解如何寻找与网页列表对应的代码块①打开屏幕下方审查元素框(以下示例皆为Edge浏览器)②用鼠标在HTML代码中滑动网页列表跟随HTML代码的滑动变为蓝色③网页评论区对应的代码块很难找到需要不断尝试请点击▶右三角形不断挖掘下层节点下图为HTML代码为单条评论时对应的变蓝的网页列表Step3了解HTML网页语法关于HTML语法本文不做详述。站内创作者已发表翔实且精彩的文章解释HTML网页元素语法。cr前端进击者https://blog.csdn.net/qq_48581968/article/details/128102301?spm1001.2014.3001.5506cr忘忧记https://blog.csdn.net/qq_45726327/article/details/130466159?spm1001.2014.3001.5506如果以树形图展现HTML元素节点结构大致如下#document (文档根节点)└── [元素] html├── [元素] head│ └── [元素] title│ └── [文本] 我的个人主页└── [元素] body├── [元素] div classheader (孙节点)│ ├── [元素] h1 (曾孙节点)│ │ └── [文本] 欢迎访问我的主页│ └── [元素] nav (曾孙节点)│ ├── [元素] a href# (玄孙节点)│ │ └── [文本] 首页│ └── [元素] a href# (玄孙节点)│ └── [文本] 关于我├── [元素] div classcontent (孙节点)│ ├── [元素] h2 (曾孙节点)│ │ └── [文本] 我的技能│ └── [元素] ul (曾孙节点)│ ├── [元素] li (玄孙节点)│ │ └── [文本] 略│ ├── [元素] li (玄孙节点)│ │ └── [文本]略│ └── [元素] li (玄孙节点)│ └── [文本] 略└── [元素] div classfooter (孙节点)└── [元素] p (曾孙节点)└── [文本]略可以将各个标签理解为装载不同内容的容器新手需要着重记住几个HTML元素标签div用来划分网页的不同区域用以包含其它的元素p断行分段用以装入大段文字a锚连接点击能跳转的地方img图片标签ulli列表标签比如榜单、列表都可以用它写Step4了解怎么写Xpath比起刚刚在图片中展示的HTML语言我们更需要掌握的是能够替我们定位、选择网页中某个元素的Xpath语言。可以看一下站内创作者总结的写Xpath方法cr林焱RPAAI电商财务方案https://blog.csdn.net/Ruanjianwang888/article/details/161838958除了文后提到的下载Xpath Helper插件找到确切的Xpath外最通用的方法就是进行模糊匹配//标签名[属性名‘’‘属性值’]此处的标签名即为Step3中提到的divali等标签名常见的属性名则有idclasstypenamedata-xxx二、实操上手阶段Step1打开八爪鱼①在官网或应用商城中下载八爪鱼RPA②在首页中点击“新建应用”③添加指令时可以直接在左侧指令框内中搜索该指令名Step2获取已打开的网页①打开浏览器进入需要采集其数据的网页②在指令搜索框中输入“获取已打开的网页”③浏览器类型选择已打开的浏览器匹配方式选择根据网址匹配匹配文本选择需要采集数据的网址④ 在指令搜索框中输入“等待”3秒后继续运行Step3新建变量①在指令搜索框中输入“新建变量”。②完成变量的设置这一步相当于初始化了一个“计数器”用以记录当前页面中评论的数量总和作为后续“循环次数”的依据。③在指令搜索框中输入“新建变量”④完成变量的设置这一步相当于创建了一个数据储存器用以保存用户名与评论内容。Step4循环相似元素①在指令搜索框中输入“循环相似元素Web”②进行设置这是最艰难的一步需要用傻瓜方法耐心捕捉我们需要的是结构一致、内容不同的多个单独评论块就是网页上包含多条评论的结构化数据区域接下来我将把其称为“评论块列表”.。只有捕捉这样的元素才能循环历遍页面的所有评论块为后续提取做准备接下来让我们不断探索评论块列表的Xpath!▶打开“循环相似元素Web”框查看▶点击此处的“捕获新元素”▶跳转到我们原来打开的网页我们需要将鼠标滑动到包含我们想要采集的信息用户名、用户评论的单条评论块评论块变蓝后选定后按下Ctrl键▶页面退回至“循环相似元素web”。因为我们想要获得的终究是评论块列表所以还需要单条评论块对应Xpath的父节点去找到这个包裹了“单条评论块”的更大“容器”。接下来我们需要利用元素编辑器中找到这个更大的“容器”元素▶点击此处打开元素编辑器▶元素编辑器如下图所示▶打开“使用自定义Xpath”接下来不断修改试探找那个评论块列表▶现在可以在“结构定位”框中任意删改Xpath了▶点击校验元素按钮跳转到网页网页闪烁红方框显示了当前Xpath所对应的网页列表——显然得到的只是包含了用户名、用户评论、评论发布时间的单条评论块不是评论列表▶ 回到自定义Xpath的结构定位页面删除最下层子节点和shadow-root得到以下的Xpath▶点击校验元素按钮得到跳转到网页网页闪烁红方框显示了当前Xpath所对应的网页列表——删除子节点后显然只是进一步得到了用户头像▶回到自定义Xpath的结构定位页面继续删除最下层子节点和shadow-root得到以下的Xpath▶得到包含一级评论与二级评论在内的第一条主评论已经非常接近评论块列表了▶到这一步可以合理猜测最下层子节点Xpath中的[1]代表的是第一条主评论那么而去掉序号[1]便可以得到和第一条主评论格式相同、内容不同的评论列表。就此在结构定位中删除[1]▶点击“校验元素”网页闪烁多条连续红色方框终于得到我们需要的完整评论列表▶跳转回“元素编辑器”将“元素名称”改为“评论元素列表”至此完成循环相似元素的最重要的设置③建立“循环相似元素”的子命令——“新建变量”。这一步相当于给循环设立一个计数器每找到一条评论元素计数器1用于统计总评论数控制后续评论循环次数。▶建立“循环相似元素”的子指令需要点击此处“”键▶在指令搜索框中输入“新建变量”需要特别注意两点在“变量”和“值”中输入评论数量需要按键选择“评论数量”在输入“”时需要点击弹出的“”键④建立“循环相似元素”的子命令——“循环结束标记”▶以上述同样方式建立“循环相似元素”的子命令点击变蓝的“”键▶在指令搜索框中输入“循环结束标记不需要进行任何设置⑤打印日志输出统计的评论总数设置如下。设定日志内容时需要牢记此处的变量需要在点击x后选择“评论数量”绝不是普通的文本Step5按次数循环①按次数循环。根据上一步统计的评论总数进行精确次数的循环确保每条数据都被处理在指令搜索框中输入“按当前次数循环”如上图进行设置牢记图中灰色框中的文字不是普通文本而是点击x选择的变量②建立“按当前次数循环”的子指令——打印日志建立子指令设置如上图③建立“按当前次数循环”的子指令——获取网页元素信息这一步将尝试获取评论区用户名▶点击“捕获新元素”点击弹出网页中的用户名按下Ctrl键确定“捕获”用户名时可能会出现“捕捉”到用户名上层元素节点的情况请耐心多次尝试▶返回元素编辑器。由于我们已经清楚/bili-comment-thread-renderer这个元素节点代表的是评论块列表/bili-comment-thread-renderer[n]代表的是评论块列表中的第n条主评论。那么此时我们为了让评论块列表按次数循环获取用户名需要点击左侧元素节点框中的bili-comment-thread-renderer再点击右侧框中的position函数点击此行中显示的找到x键在下拉列表中选择变量“当前循环次数”点击确定▶返回“获取网页元素信息”页面将“选择元素”改为“用户名元素”将“保存网页元素信息至”后的内容改为“评论用户”将“评论用户”储存起来。▶接下来捕捉用户评论。步骤与捕捉用户名的步骤相似。设置如下④建立“按次数循环”的子指令——“按行写入内容至数据表格”▶建立“按次数循环”的子指令在上一条指令的下方按蓝色“”键创建新的子指令▶在指令搜索框中输入“按行写入内容至数据表格”进行设置▶设置如下特别注意此处的“哔哩哔哩评论结果”、“评论用户”、“用户评论”都是变量并非普通文本⑤循环结束当在指令搜索框中选择“按次数循环”会对应出现“循环结束”指令。请将“循环结束”指令移动至第五步处。Step6 导出数据表格①在指令搜索框中选择“导出数据表格”设置如下可以按照你的需要修改保存路径与文件名称Step7 运行①打开需要采集评论的网页滑动右侧的滑块不断加载评论直至底端最后一条评论如下图②点击八爪鱼RPA主页面最上方的“运行主流程”③打开需要采集评论的网页点击滑块由底端向上滑动评论区即可采集信息。