-
Notifications
You must be signed in to change notification settings - Fork 2
Home
dmf-code edited this page May 13, 2020
·
4 revisions
这是一个通过配置自动化操作的框架,它效率不会很高,但是可以解决一些痛点:
- 重复性的浏览器操作(苹果自动化出包流程)
- 爬虫(实现爬取使用异步渲染
dom结构的页面)
框架最大的特点,也是我最喜欢的是:代码完全可以通过配置化进行操作,这样子就能解决页面 DOM 结构经常变化导致爬取出错修复慢的问题。
使用说明:

titan.yml 文件是框架的配置文件
development: //定义环境
debug: True //打开调试模式
headless: False //浏览器是否开启无头模式
browser_args: [ //浏览器配置参数
'--disable-infobars',
'--no-sandbox',
'--disable-gpu',
'--ignore-certificate-errors',
'--ignore-ssl-errors',
'--window-size=1980,1000',
'--disk-cache-size=10485760',
'blink-settings=imagesEnabled=false'
]
experimental_option: { // 扩展参数
prefs: {
},
excludeSwitches: ['enable-automation']
}
callback: { //执行完成的回调
default: 'file', // 默认文件
stores: { // 回调的存储方法
file: {
name: 'boss.txt'
},
request: { // 请求后台
url: 'http://127.0.0.1:5000/tasks/'
}
}
}
load_command_from_file: True // 加载执行命令,是本地还是后台数据库加载
production:
debug: False
headless: True
browser_args: [
'--no-sandbox',
'--disable-gpu',
]
hub: [http://127.0.0.1, http://127.0.0.1]
项目 README.md 中也有 boss 的例子,可以结合起来一起理解。
这个框架所做的事情都是封装官方的方法的,所以对于组件使用不清楚的话,就要看一下官方的文档了。
https://www.selenium.dev/documentation/zh-cn/
组件文档可能没有做到非常详细或是表达不清楚的问题,这里面可以直接看组件代码,这里面会清晰的知道具体需要什么参数。