5.3.2 百度搜索
再来看一个百度搜索的例子。我们每天上网一般要用很多次百度搜索,而我们每次在使用百度搜索时步骤都是一样的,不一样的是每一次搜索的“关键字”不同。下面我们就以数组的方式对搜索的关键字进行参数化。
首先将百度搜索的步骤定义为 sreach()方法,搜索的关键字作为方法的入参。
接下来在 main()方法中定义字典 sreach_key,然后通过 for 循环读取字典的元组做为 sreach()方法的入参对其进行调用。最后将 sreach()方法返回的页面 title 打印。
5.3.3 读取 csv 文件
假如,现在要读取的是一组用户数据,这一组数据包括用户名、邮箱、年龄、性别等信息。这个时候显然 txt 文件不管是存放还是读取都不太方便。
下面通过读取 csv 文件的方法来解决这个每次要读取多个信息的问题。Java 本身并不支持 CSV 文件的读取,需要安装第三方 jar 包。
javacsv2.1 下载地址:http://sourceforge.net/projects/javacsv/files/
通过上面的链接,将 jar 包下载并导入项目。具体步骤参考 selenium 的导入。
首先创建 userinfo.csv 文件,通过 WPS 表格 或 Excel 创建表格,文件另存为选择 CSV 格式进行保存,注意不要直接修改 Excel 的后缀名来创建 CSV 文件,这样创建出来的并非真正的 CSV 文件。
【读取info. csv表格的代码如下】:
● 我们一般会在表格的第一行定义标题,从而来说明每一列的内容,readHeaders()方法可以跳过表头,也就是表格的第一行。
● getRawRecord()方法表示获取一行的数据。
● get("Name")方法表示获取一行中某一列的数据,“name”为该的标题。在上面的例子中只需要取所有用户的“Name”和“Password”。
● 在本中是以读取 CSV 文件为例,读取 Excel 文件的方式也类似,只是所调用的模块就需要从 csv 切换为 xlrd,针对 Excel 文件操作的方法也有所不同。