-
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/
组件文档可能没有做到非常详细或是表达不清楚的问题,这里面可以直接看组件代码,这里面会清晰的知道具体需要什么参数。