使用rpa打开浏览器并执行js抓取页面元素详情步骤

这里我们专门开一个文章来写如何在rpa中执行js获取页面元素。

个人觉得,复杂点的需求用js会方便很多,所以后续的文章我都会重点使用js去获取页面元素。

好,正文开始,我们先看一下rpa为我们提供的自带的方便的抓取元素的方式,我们还是以小红书为例,还是以上一个例子为例,上个例子我们使用执行js的方式获取用户列表,这次我们新建一个流程:

使用自带的抓取方式作为对比,我们点击编辑->数据抓取:

点击选择目标:

这里局限性就来了,还选中了认证的图标,到时候我们看看输出的是什么。

提示我们需要再抓一下同样层级的元素:

我们选择第二个用户的名称:

然后就抓到数据了:

我们调试一下:

数据有了:

我们看看rpa的源码,可能不够直观吧,要是下次要改的话,都不知从何下手,还得重新选取。

所以这里如果你的需求只是简单获取列表数据,且并不会二次修改,那么就用自带的选取方式,但如果你需要更精准的数据获取方式,则推荐直接使用运行js的方式获取。

所以这里我们重点讲解下运行js的方式来精准的抓取数据。

在rpa中有提供一个执行js的方法:

可以设置是否同步执行以及js执行出错时是否还能往下执行等。

我们一般获取数据时都是使用同步js,使用默认配置即可,我们还是用小红书举例,我们这次获取小红书作者信息:

我们这里来获取这个小红书作者的昵称、小红书号、关注数、粉丝数、获赞数这五个数据。

我们先在浏览器中写js代码尝试获取,没问题再复制到rpa中。

我们按下f12,切换到console,并清空控制台:

用浏览器自带的工具确定下要抓取的元素:

为class为info-part的div,第一步先拿到整体块的元素:

我们再精细化到下一级元素:

再确定一下需要抓取的元素在那个div下:

我们先从昵称和小红书号开始:

昵称的div是:

js:

拿到了昵称,再是小红书号:

注意标签是span了,replace函数将【小红书:】删除,只保留账号。

接下来是关注数和粉丝数以及点赞数,我就一起获取了,先看看结构:

可以看到三个值所在的大的div叫user-interactions,该div下还有三个小div,就是存放三个数值的地方了:

我们直接用下标的方式取:

最后我们用一个函数返回这些五个字段:

结果:

这篇文章就到这里啦!如果你对文章内容有疑问或想要深入讨论,欢迎在评论区留言,我会尽力回答。同时,如果你觉得这篇文章对你有帮助,不妨点个赞并分享给其他同学,让更多人受益。

想要了解更多相关知识,可以查看我以往的文章,其中有许多精彩内容。记得关注我,获取及时更新,我们可以一起学习、讨论技术,共同进步。

感谢你的阅读与支持,期待在未来的文章中与你再次相遇!

相关推荐
嚣张农民1 小时前
推荐3个实用的760°全景框架
前端·vue.js·程序员
梓羽玩Python2 小时前
推荐一款用了5年的全能下载神器:Motrix!全平台支持,不限速下载网盘文件就靠它!
程序员·开源·github
梓羽玩Python2 小时前
这款一站式AI体验平台值得收藏起来!GPT-4o、GPT-4o Mini、Claude 3.5 Sonnet免费使用!
人工智能·程序员·设计
前端宝哥17 小时前
10 个超赞的开发者工具,助你轻松提升效率
前端·程序员
XinZong19 小时前
【VSCode插件推荐】想准时下班,你需要codemoss的帮助,分享AI写代码的愉快体验,附详细安装教程
前端·程序员
Goboy1 天前
0帧起步:3分钟打造个人博客,让技术成长与职业发展齐头并进
程序员·开源·操作系统
JaxNext1 天前
不选总统选配色,这一票投给 CSS logo
前端·css·程序员
程序员鱼皮2 天前
刚毕业,去做边缘业务,还有救吗?
计算机·程序员·互联网·求职·简历
WujieLi3 天前
独立开发沉思录周刊:vol18.AI 正在成为无处不在的基础设施
程序员·设计·创业
_祝你今天愉快3 天前
重学Android:从位运算到二进制表示(零)
算法·程序员