# selenium
## 引入selenium插件
1. 在spider-design/spider-design-web/pom.xml中引入插件
```xml
<!-- 引入selenium插件 -->
<dependency>
<groupId>org.spiderdesign</groupId>
<artifactId>spider-design-selenium</artifactId>
</dependency>
```
1. 在spider-design/spider-design-web/application.properties中配置驱动路径
- chrome驱动下载地址:[http://npm.taobao.org/mirrors/chromedriver/ (opens new window)](http://npm.taobao.org/mirrors/chromedriver/)注意版本问题
- firefox驱动下载地址:[https://github.com/mozilla/geckodriver/releases(opens new window)](https://github.com/mozilla/geckodriver/releases)
## 节点说明
- 页面加载超时时间,单位为毫秒
- 元素获取超时时间,单位为毫秒
- URL:起始地址
- 节点执行完毕后,会产生`resp` 类型为`SeleniumResponse`的变量
## SeleniumResponse 属性
| 字段名称 | 字段类型 | 字段描述 |
| -------- | -------------------- | -------------- |
| html | String | 页面HTML |
| json | JSONObject/JSONArray | 内容转json结果 |
| cookies | Map<String,String> | cookies |
| url | String | 当前页面的URL |
| title | String | 当前页面的标题 |
## SeleniumResponse 方法
### switchTo
| 参数名 | 描述 | 可否为空 |
| :-------------------------: | :------------: | :------: |
| index/iframeName/WebElement | 要切换的iframe | 否 |
```javascript
${resp.switchTo(index)}
```
> TIP
>
> 返回值类型:SeleniumResponse
>
### switchToDefault
切换至默认,即从iframe里切换回来
```javascript
${resp.switchToDefault()}
```
### selector
| 参数名 | 描述 | 可否为空 |
| :---------: | :-----------------: | :------: |
| cssSelector | 要获取的cssSelector | 否 |
> TIP
>
> 返回值类型:WebElement
>
- 获取页面上的第一个div
```javascript
${resp.selector('div')}
```
### selectors
| 参数名 | 描述 | 可否为空 |
| :---------: | :-----------------: | :------: |
| cssSelector | 要获取的cssSelector | 否 |
> TIP
>
> 返回值类型:WebElements
>
- 获取页面上的所有div
```javascript
${resp.selectors('div')}
```
### xpath
| 参数名 | 描述 | 可否为空 |
| :----: | :-----------: | :------: |
| xpath | 要获取的xpath | 否 |
> TIP
>
> 返回值类型:WebElement
>
- 获取页面上的第一个div
```javascript
${resp.xpath('//div')}
```
### xpaths
| 参数名 | 描述 | 可否为空 |
| :----: | :-----------: | :------: |
| xpath | 要获取的xpath | 否 |
> TIP
>
> 返回值类型:WebElements
>
- 获取页面上的所有div
```javascript
${resp.xpaths('//div')}
```
### executeScript
| 参数名 | 描述 | 可否为空 |
| :----------: | :----: | :------: |
| script | js脚本 | 否 |
| List<Object> | 参数 | 否 |
> TIP
>
> 返回值类型:Object
>
- 执行js
```javascript
${resp.executeScript('return "hello spider-design-" + arguments[0];',['selenium'])}
```
### quit
- 退出浏览器
```javascript
${resp.quit()}
```
### toUrl
| 参数名 | 描述 | 可否为空 |
| :----: | :---------: | :------: |
| url | 要跳转的url | 否 |
- 跳转到百度
```javascript
${resp.toUrl('https://www.baidu.com')}
```
### loadCookies
- 将cookie加载至cookieContext中,以便后续自动管理cookie
```javascript
${resp.loadCookies()}
```
## WebElement 方法
### html
> TIP
>
> 返回值类型:String
>
- 获取节点的html
```javascript
${elementVar.html()}
```
### text
> TIP
>
> 返回值类型:String
>
- 获取节点的text
```javascript
${elementVar.text()}
```
### attr
> TIP
>
> 返回值类型:String
>
- 获取节点的href属性
```javascript
${elementVar.attr('href')}
```
### selector
| 参数名 | 描述 | 可否为空 |
| :---------: | :-----------------: | :------: |
| cssSelector | 要获取的cssSelector | 否 |
> TIP
>
> 返回值类型:WebElement
>
- 获取该节点下的第一个div
```javascript
${elementVar.selector('div')}
```
### selectors
| 参数名 | 描述 | 可否为空 |
| :---------: | :-----------------: | :------: |
| cssSelector | 要获取的cssSelector | 否 |
> TIP
>
> 返回值类型:WebElements
>
- 获取获取该节点下的所有div
```javascript
${elementVar.selectors('div')}
```
### xpath
| 参数名 | 描述 | 可否为空 |
| :----: | :-----------: | :------: |
| xpath | 要获取的xpath | 否 |
> TIP
>
> 返回值类型:WebElement
>
- 获取获取该节点下的第一个div
```javascript
${elementVar.xpath('//div')}
```
### xpaths
| 参数名 | 描述 | 可否为空 |
| :----: | :-----------: | :------: |
| xpath | 要获取的xpath | 否 |
> TIP
>
> 返回值类型:WebElements
>
- 获取获取该节点下的所有div
```javascript
${elementVar.xpaths('//div')}
```
### screenshot
> TIP
>
> 返回值类型:byte[]
>
- 对该节点进行截图
```javascript
${elementVar.screenshot()}
```
### click
> TIP
>
> 返回值类型:WebElement
>
- 对该节点进行点击
```javascript
${elementVar.click()}
```
### sendKeys
> TIP
>
> 返回值类型:WebElement
>
- 对该节点进行模拟按键
```javascript
${elementVar.sendKeys('hello spider-design')}
```
### clickAndHold
### release
### move
| 参数名 | 描述 | 可否为空 |
| :------: | :------: | :------: |
| offset_x | offset x | 是 |
| offset_y | offset y | 是 |
> TIP
>
> 在该节点上模拟鼠标移动,当offset_x和offset_y为空时,则模拟鼠标移动到该节点上
>
### doubleClick
### pause
### perform
> TIP
>
> 以上6个方法是配套使用,调用perform时才是真正执行动作
>
- 模拟鼠标移动到该节点上,等待500ms在点击,等待500ms在移动,最后释放(模拟拖拽滑块条)
```javascript
${elementVar.move().pause(500).clickAndHold().pause(500).move(200,0).release().perform()}
```
## WebElements 方法
### html
> TIP
>
> 返回值类型:List<String>
>
- 获取节点的html
```javascript
${elementsVar.html()}
```
### text
> TIP
>
> 返回值类型:List<String>
>
- 获取节点的text
```javascript
${elementsVar.text()}
```
### attr
> TIP
>
> 返回值类型:List<String>
>
- 获取节点的href属性
```javascript
${elementsVar.attr('href')}
```
### selector
| 参数名 | 描述 | 可否为空 |
| :---------: | :-----------------: | :------: |
| cssSelector | 要获取的cssSelector | 否 |
> TIP
>
> 返回值类型:WebElement
>
- 获取该节点下的第一个div
```javascript
${elementsVar.selector('div')}
```
### selectors
| 参数名 | 描述 | 可否为空 |
| :---------: | :-----------------: | :------: |
| cssSelector | 要获取的cssSelector | 否 |
> TIP
>
> 返回值类型:WebElements
>
- 获取获取该节点下的所有div
```javascript
${elementsVar.selectors('div')}
```
### xpath
| 参数名 | 描述 | 可否为空 |
| :----: | :-----------: | :------: |
| xpath | 要获取的xpath | 否 |
> TIP
>
> 返回值类型:WebElement
>
- 获取获取该节点下的第一个div
```javascript
${elementsVar.xpath('//div')}
```
### xpaths
| 参数名 | 描述 | 可否为空 |
| :----: | :-----------: | :------: |
| xpath | 要获取的xpath | 否 |
> TIP
>
> 返回值类型:WebElements
>
- 获取获取该节点下的所有div
```javascript
${elementsVar.xpaths('//div')}
```
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【资源说明】 基于spider-flow整合各种插件高度灵活可配置的爬虫平台资料齐全+文档详细.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
资源推荐
资源详情
资源评论
收起资源包目录
基于spider-flow整合各种插件高度灵活可配置的爬虫平台资料齐全+文档详细.zip (500个子文件)
editor.main.css 89KB
layui.css 68KB
easyui.min.css 47KB
easyui.css 39KB
editor.css 31KB
formSelects-v4.css 18KB
layer.css 14KB
layui.mobile.css 10KB
codemirror.css 9KB
laydate.css 7KB
zTreeStyle.css 6KB
layui-blue.css 5KB
common.css 3KB
eleTree.css 3KB
jsontree.css 2KB
dracula.css 2KB
idea.css 2KB
code.css 1KB
layui-black-gray.css 900B
index.css 770B
show-hint.css 638B
explorer.css 486B
Dockerfile 370B
Dockerfile2 384B
iconfont.eot 40KB
59.gif 10KB
22.gif 10KB
24.gif 8KB
13.gif 7KB
16.gif 7KB
39.gif 6KB
64.gif 6KB
63.gif 6KB
50.gif 6KB
loading-0.gif 6KB
4.gif 6KB
zTreeStandard.gif 5KB
1.gif 5KB
42.gif 5KB
71.gif 5KB
21.gif 5KB
20.gif 5KB
29.gif 5KB
70.gif 4KB
5.gif 4KB
17.gif 4KB
27.gif 4KB
9.gif 4KB
44.gif 4KB
11.gif 4KB
8.gif 4KB
3.gif 4KB
23.gif 4KB
34.gif 4KB
41.gif 4KB
38.gif 4KB
65.gif 3KB
32.gif 3KB
45.gif 3KB
7.gif 3KB
12.gif 3KB
26.gif 3KB
60.gif 3KB
2.gif 3KB
40.gif 3KB
25.gif 3KB
19.gif 3KB
66.gif 3KB
18.gif 3KB
46.gif 3KB
10.gif 3KB
28.gif 3KB
51.gif 3KB
57.gif 3KB
67.gif 3KB
0.gif 3KB
48.gif 3KB
43.gif 3KB
30.gif 2KB
61.gif 2KB
33.gif 2KB
69.gif 2KB
14.gif 2KB
47.gif 2KB
36.gif 2KB
49.gif 2KB
58.gif 2KB
6.gif 2KB
54.gif 2KB
53.gif 2KB
56.gif 2KB
62.gif 2KB
31.gif 2KB
55.gif 2KB
35.gif 2KB
15.gif 2KB
loading-2.gif 2KB
37.gif 1KB
68.gif 1KB
52.gif 777B
共 500 条
- 1
- 2
- 3
- 4
- 5
资源评论
Yuki-^_^
- 粉丝: 3099
- 资源: 859
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功