跟鹏飞学RPA——你爱学习,我爱分享。学习RPA就是这么简单。
从今天开始,我们将结合前期课程知识点开展为期四天的专项练兵。
★练兵介绍
场景:进入百度搜索,点击左上方的新闻进入热点新闻界面;要求使用循环命令分别点击并穿透新闻链接(取的链接为第1、3、5、7、9、11条),获取任意一段正文内容并输出。
所需命令:启动浏览器、点击目标、等待元素、数据抓取、获取元素文本、延时、计次循环。
★动作拆分
----启动浏览器
使用启动浏览器命令,属性配置浏览器类型和网址
----点击左上方新闻并进入界面
使用点击目标命令,注意因涉及界面跳转,可能因网络延迟导致下个界面出现时间较晚,加一条等待元素命令;目标为下一个界面任意不常变化的元素。
----抓取新闻链接备用
使用数据抓取功能,注意两个同级目标选择范围大一些,保证抓取整个网页数据;选择好两个同级目标后,抓取类型选择文字和链接。注意数据抓取结果为两个括号的,即二维数组。
----获取数组中指定链接
敲黑板,划重点。这里要仔细琢磨。
使用的是计次循环、打开网页命令。
上图是我们数据抓取时看到的表单形式,它输出的是二维数组。
上节课提到过,arrayData二维数组体现在表格里是一行一行的累加;也就是说,arrayData由多个一维数组组成,每个一维数组就是每行,如arrayData[0]是第一行、arrayData[1]是第二行……;我们要想取到里面的网址链接,显然需要继续取一维数组里的内容,比如我想取第一行网址链接是arrayData[0][1]、取第二行网址链接是arrayData[1][1]……
特别强调不要绕晕的一点,数组第一个元素下标为0,第二个元素下标为1。
下面我要用循环遍历数组取需要的链接了。
这里用到的是计次循环。取第1、3、5、7、9、11条新闻,则下标需要依次减少1;即初始值配置0,结束值为10,每次增加2即步进为2。
那怎么取链接呢?我们通过刚提到的表单可知,首先需要循环遍历每行,即为arrayData[i];而链接在每行第2个元素,下标应该为1,即arrayData[i][1]。
链接得到了,我们用打开网页的命令,网址内容即为arrayData[i][1]。
----获取标题、正文内容
使用延时、获取元素文本命令
因为网页可能有网络延时,这里并不适合等待元素命令。因为每个网页链接进入后没有相同元素,会造成捕捉失败报错。我们暂时加延时1秒。
然后使用获取元素文本获取一段正文内容,并应用输出调试信息输出。
从输出结果可以看到,每行输出一次内容。因为网页结构不同,有时会输出空值,可忽略,理解用途和含义即可。
下面看下运行视频。
★随堂作业
问题:应用上面的案例,获取2、4、6、8、10条新闻任意内容,并写入表格。表格命名为"新闻.xlsx",要求依次逐行写入。
★明日预告
读取表格内容,循环填写表单。
你学会了嘛?下课!
更多内容请关注跟鹏飞学RPA。
本文使用 文章同步助手 同步