Selenium自动化框架

之前工作中接触过自动化的项目,所以自己也写了一个 titans 框架,现在算是完成50%了吧。因为考虑的事情较多,所以项目朝着复杂化中走,然后越来越多的细节要处理。首先这里分为三大块

  1. 前端
  2. 后端
  3. 自动化服务端

前端

这里是用 VueElement-UI 进行编写,这里面对 Vue 没实战过,导致很多卡点,然后一开始也打算将功能尽量封装起来,导致很多时候无从下手,最后发现这个方式明显有问题,所以还是将功能做出来在优化,还是需要从0到1这个过程。

首页列表
Selenium自动化框架_第1张图片
添加:
Selenium自动化框架_第2张图片

  • 列表的增删改查
  • json 编辑器
  • json 编写改为界面组件化添加

后端

后端使用 flask 进行做,然后发现写起来没有 php 方便,这里没什么卡点就是简单的 CURD 而已。

服务端

这里其实才是重点,自动化的所有操作都是在这里进行的。这里其实就是一个 Selenium 的框架封装,这里封装程度应该是挺高的。所配即所得,只要配好对应的 json 我们就能够使用。

架构
目录结构

+---abstracts // 抽象类
+---bin // 二进制文件
+---components // 组件
+---configs // 配置文件
+---core // 核心逻辑
+---hooks // 钩子
+---logs // 日志
+---manages // 全局管理类
+---storages // 存储保存位置
|   \---cookies
+---utils // 通用工具

组件

│  click.py                 点击操作类                    
│  content.py               html标签内容获取类                    
│  cookie.py                cookie操作类                        
│  for.py                   for循环流程类                    
│  if.py                    if流程类                    
│  iframe.py                iframe操作类            
│  input.py                 输入操作类                    
│  javascript.py            javascript代码执行类                  
│  judge.py                 条件判断类                      
│  request.py               请求类                          
│  sleep.py                 睡眠延时类                        
│  wait.py                  等待事件类                       
│  while.py                 while循环类        
│  window.py                window标签页切换类    

效果图:

后续工作:
持续优化代码逻辑,编写如何使用 json 构建浏览器自动化运行的文档。

项目地址:
https://github.com/dmf-code/titans

你可能感兴趣的:(爬虫之旅)