一、spider-flow简介&安装方法&快速入门
简介 | spider-flow (spiderflow.org)
安装部署 | spider-flow (spiderflow.org)
快速入门 | spider-flow (spiderflow.org)
二、selenium插件安装
selenium | spider-flow (spiderflow.org)
1.下载后解压,得到的文件夹直接移动到项目文件中
2.在spider-flow/spider-flow-web/pom.xml中引入插件:
<!-- 引入selenium插件 -->
<dependency>
<groupId>org.spiderflow</groupId>
<artifactId>spider-flow-selenium</artifactId>
</dependency>
3.在spider-flow/spider-flow-web/application.properties中配驱动路径,路径指向驱动程序的位置。
chrome驱动地址:ChromeDriver Mirror (taobao.org)。要注意和自己的chrome版本要尽量一致。
4.问题:用idea自带的maven不好使,自建了一个本地仓库和settings文件才好使。
三、sql节点的使用
TIP
该节点执行完毕时会产生
rs
变量,selectInt/insert/update/delete会返回int
类型,select会返回List<Map<String,Object>>
,selectOne返回Map<String,Object>
,insertofPk返回主键值
如官方文档所说,这个组件像爬虫组件一样执行后会返回一个叫rs的变量,里面的内容即为sql语句执行后的结果,一般和select一起用。
如图,sql中执行了一个select语句,返回的rs变量是一个map元素的list,在定义变量中对list的长度进行了一步统计。
四、使用selenium进行iframe切换
1.使用selenium部件
2.后面接上执行函数部件,内容为 ${resp.switchTo("iframe的id或name"或iframe元素)}
3.在后面的变量中调用resp即可。
终、遇到的一些问题
1.输出到数据库:要提前建表,并且表字段要和流程中的输出字段对应。
2.url地址拼接可以利用 string.substring() 和 string.replaceFirst(字符串,pattern,'替换内容') 。