这里我们专门开一个文章来写如何在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,就是存放三个数值的地方了:

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

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

结果:

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

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

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

使用rpa打开浏览器并执行js抓取页面元素详情步骤的更多相关文章

  1. js 抓取页面数据

    数据抓取 主要思路和原理 在根节点document中监听所有需要抓取的事件 在元素事件传递中,捕获阶段获取事件信息,进行埋点 通过getBoundingClientRect() 方法可获取元素的大小和 ...

  2. Node.js 抓取电影天堂新上电影节目单及ftp链接

    代码地址如下:http://www.demodashi.com/demo/12368.html 1 概述 本实例主要使用Node.js去抓取电影的节目单,方便大家使用下载. 2 node packag ...

  3. 爬虫:selenium + phantomjs 解决js抓取问题(一)

    selenium模块主要用来做测试,模拟键盘.鼠标来操作浏览器. phantomjs 就像一个无界面的浏览器一样. 两个结合能很好的解决js抓取的问题. 测试代码: #coding=utf-8 fro ...

  4. 基于puppeteer模拟登录抓取页面

    关于热图 在网站分析行业中,网站热图能够很好的反应用户在网站的操作行为,具体分析用户的喜好,对网站进行针对性的优化,一个热图的例子(来源于ptengine) 上图中能很清晰的看到用户关注点在那,我们不 ...

  5. 爬虫抓取页面数据原理(php爬虫框架有很多 )

    爬虫抓取页面数据原理(php爬虫框架有很多 ) 一.总结 1.php爬虫框架有很多,包括很多傻瓜式的软件 2.照以前写过java爬虫的例子来看,真的非常简单,就是一个获取网页数据的类或者方法(这里的话 ...

  6. 用PHP抓取页面并分析

    在做抓取前,记得把php.ini中的max_execution_time设置的大点,不然会报错的.

  7. php抓取页面的几种方式

    在做一些天气预报或者RSS订阅的程序时,往往 需要抓取非本地文件,一般情况下都是利用php模拟浏览器的访问,通过http请求访问url地址, 然后得到html源代码或者xml数据,得到数据我们不能直接 ...

  8. CasperJS基于PhantomJS抓取页面

    CasperJS基于PhantomJS抓取页面 Casperjs是基于Phantomjs的,而Phantom JS是一个服务器端的 JavaScript API 的 WebKit. CasperJS是 ...

  9. php抓取页面的几种方法详解

    本篇文章是对php抓取页面的几种方法进行了详细的分析介绍,需要的朋友参考下 在 做一些天气预报或者RSS订阅的程序时,往往需要抓取非本地文件,一般情况下都是利用php模拟浏览器的访问,通过http请求 ...

  10. Java爬虫系列二:使用HttpClient抓取页面HTML

    爬虫要想爬取需要的信息,首先第一步就要抓取到页面html内容,然后对html进行分析,获取想要的内容.上一篇随笔<Java爬虫系列一:写在开始前>中提到了HttpClient可以抓取页面内 ...

随机推荐

  1. k8s单master集群通过备份etcd还原集群

    准备环境 通过kubeadm 安装的单master kubernetes 1.19+ 集群 容器环境:containerd 客户端工具:kubeadm.kubectl.etcdctl.crictl 备 ...

  2. 【解决一个小问题】proto文件中的enum,去掉长长的重复的enum名字

    在proto中定义的enum,通常类型名字都会带上enum的前缀,很丑陋,如何去掉呢? enum DataSourceType{ NotUse = 0; MySQL = 1; ElasticSearc ...

  3. layui之静态表格的分页及搜索功能以及前端使用XLSX导出Excel功能

    LayUI官方文档:https://layui.dev/docs/2/#introduce XLSX NPM地址:https://www.npmjs.com/package/xlsx XLSX 使用参 ...

  4. 【2】Pycharm插件推荐,超级实用!每个小trick都可以快速提升变成效率!

    相关文章: [1]Pycharm 主题设置推荐Material Theme UI以及编辑环境配置(字体大小和颜色) [2]Pycharm插件推荐,超级实用!每个小trick都可以快速提升变成效率! [ ...

  5. layui下拉框可手动输入

    先看效果 layui版本:layui@2.8.17 HTML代码: <div class="layui-form-item"> <label class=&quo ...

  6. SpringMVC的执行流程及初始化流程

    今天大致来看一下Spring MVC的执行流程和初始化流程是什么样的 1,执行流程:也就是一个请求是怎么到我们Controller的 2,初始化流程:也就是那些 HandlerMapping.Hand ...

  7. 新零售SaaS架构:促销系统架构设计

    促销业务概述 什么是促销? 促销是商家用来吸引消费者购物的一种手段,目的是让更多的人知道并购买他们的产品,这样就能卖得更多.促销的方法有很多种,比如,价格优惠.赠品.优惠券.折扣.买一赠一等形式. 特 ...

  8. .NET 云原生架构师训练营(模块二 基础巩固 依赖注入)--学习笔记

    2.2.1 核心模块--依赖注入 什么是依赖注入 .NET Core DI 生命周期 服务设计 服务范围检查 ASP.NET Core 依赖注入:https://docs.microsoft.com/ ...

  9. Linux-ln命令创建链接(软连接/硬链接)

    1.ln命令介绍 ln命令可以看作是 link 的缩写,其功能是创建文件间的链接,链接类型包括硬链接(hard link)和软链接(符号链接,symbolic link) 2.ln命令格式 ln 命令 ...

  10. Embedding 模型部署及效果评测

    写在前面 最近大模型发展迅速,与之对应的向量化需求也被带动起来了,由此社区也衍生出很多模型,本文选几款,简单做下评测. 前置概念 为方便读者,先简单介绍几个概念. 概念1:Vector Embeddi ...