背景
抓取序需要登录的页面数据。
操作需要登录权限的资源。
实验环境
- windows 7
- firefox_v50.1.0
- geckodriver_v0.14
简介
Selenium webdriver 是一个用于web应用程序的自动化测试工具。
具有一系列的API来操作浏览器。
可以模拟用户操作页面元素。
主要步骤
- 配置参数,初始化driver
- 加载url
- 等待页面加载
- 获取页面元素
- 操作页面元素
- 提交表单
- 获取 cookies
- 保存cookies
注意事项
- 老的版本上,会要设置firefox的路径,但是这个版本只需要设置gecko的路径。gecko需要在git上下载下来。
- 因为是开启浏览器加载页面,所以需要一些延时来等待页面加载。可以设置时间,也可以设置检测某个元素存在等。
- cookies是保存到了
org.apache.http.client.CookieStore
中,然后序列化到文件中,用于下次读取,用httpclient来抓数据。
所需要的依赖
在pom.xml的dependencies中加入
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>fluent-hc</artifactId>
<version>4.5.2</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-firefox-driver</artifactId>
<version>3.0.1</version>
</dep