
跟鹏飞学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。
jquery
获取
div
之间的内容,有两种方法,$(selector)text()、$(selector)html()
。
html:
1
2
3
test
$("div")text()
得到的是
test,是
div
的纯文本,会自动忽略
html
标签
。
$("div")html()
得到的是
test
,是
div
的所有内容,包括
html
标签,它有个好处是可以将
得到的标签与文字
直接再利用,比如添加到页面其他地方之类的 *** 作
。
一、参考代码如下:
<!doctype html><html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script src="jquery-211minjs"></script>
<!--记得导jquery-->
<script>
$ajax({
type:'get',
url:"demohtml",//这里是url
success:function(body,heads,status){
consolelog(body); //body就是内容了,也就是url网页中的内容
}
});
</script>
</body>
</html>
重点代码说明:
$ajax({type:"POST",//请求方式为post
url:"orderclassphptype=add",//请求的地址
data:dataFormid,//参数
success: function(mag){
//success指的是请求并成功返回信息
//msg是返回的内容
alert(mag);
}
});
举例
//假如后台返回的是一个JSON格式的字符串,如"{code:0,msg:\"执行成功!\"}"
success: function(data){
var json=evel("("+data+")");
alter(jsonmsg);//会d出执行成功的消息框
}
以上就是关于第14课:如何用RPA获取多网页内容(练兵场一)全部的内容,包括:第14课:如何用RPA获取多网页内容(练兵场一)、用jquery怎么获取页面的特定内容、javascript 怎么获取指定url网页中的内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)