RPA技术分享:被忽略但是很方便的组件--执行 js 组件

了解RPA:
www.i-search.com.cn

学习RPA
https://support.i-search.com.cn/

下载RPA:
https://www.i-search.com.cn/?from=csdn

前言
随着前端框架的使用越来越多,开发难度也在不断的增加,很多时候单纯的用获取文本组件无法获得我们想要的数据,而执行 js 组件能解决许多的问题。

一、题目
现在有一道题,要求用设计器判断目标网站https://www.baidu.com/ 中,热榜下新闻的条数。

在这里插入图片描述

二、常规解题思路(遍历)
对网页源码进行分析我们得出每个新闻标题的 css-selector 为:#hotsearch-content-wrapper>li:nth-of-type(下标)。
由此我们可以设计流程获取新闻的条数,如下图:

在这里插入图片描述

三、在 Chrome 上使用执行 js 组件

在这里插入图片描述

  1. 执行的 js 代码
    “function test(){
    temp = document.getElementById(‘hotsearch-content-wrapper’);
    lis = temp.getElementsByTagName(‘li’);
    linum = lis.length;
    alert(linum);
    return(linum);
    }”
  2. 需要注意的点
    由上可见该 js 代码为一个 JavaScript 函数,在 chrome 运行执行 js 组件,会自动执行该函数,组件返回的值为函数的返回值。

四、在 IE 上使用执行 js 组件

在这里插入图片描述

  1. 执行的 js 代码
    “(function test(){
    temp = document.getElementById(‘hotsearch-content-wrapper’);
    lis = temp.getElementsByTagName(‘li’);
    linum = lis.length;
    alert(linum);
    return(linum);
    }())”
  2. 需要注意的点
    在 IE 运行执行 js 组件,并不会自动执行该函数,所以 (function test(){}()) 这种写法是为了让该函数被执行。 而且需要注意的是执行后组件并不会返回值,返回的是 None。

本稿件来源于艺赛旗RPA社区会员 “LlIiNn” 版权归作者所有。