使用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 天前
软件格局在变,谁能扛起国产替代的大旗?
安全·程序员·产品
黄油饼卷咖喱鸡就味增汤拌孜然羊肉炒饭1 天前
SpringBoot如何实现缓存预热?
java·spring boot·spring·缓存·程序员
少年姜太公2 天前
从零开始详解js中的this(下)
前端·javascript·程序员
凌虚2 天前
Kubernetes APF(API 优先级和公平调度)简介
后端·程序员·kubernetes
小华同学ai2 天前
ShowDoc:Star12.3k,福利项目,个人小团队的在线文档“简单、易用、轻量化”还专门针对API文档、技术文档做了优化
前端·程序员·github
小青鱼4 天前
AI编程-Cursor从入门到精通系列之常用概念及解释(二)
人工智能·程序员
捡田螺的小男孩5 天前
参数校验的十个建议!收藏好,别再给测试机会提bug~
java·后端·程序员
哔哩哔哩技术5 天前
B站装机系统实践:从初创到规模化的演进
前端·程序员
程序员鱼皮5 天前
没事别想不开去创业!
计算机·面试·程序员·项目
绝无仅有5 天前
通用的权限管理系统的介绍与总结
面试·程序员·架构