FBro浏览器功能汇总
总访问量:--
访客数:--
本页阅读:--
FBro是一个基于CEF3(Chromium Embedded Framework 3)的自定义浏览器框架,通过对官方CEF3的修改和扩展,提供了丰富的浏览器操作和自动化功能。
1. 核心初始化与创建
初始化设置
- 支持设置缓存路径、用户数据路径、根缓存目录
- 启用多线程消息循环
- 配置子进程路径和本地化语言
- 可设置日志模式和错误处理
浏览器创建
- 支持同步和异步创建浏览器实例
- 可创建前台和后台浏览器
- 支持嵌入式窗口和弹窗模式
- 灵活的窗口信息配置
浏览器管理
- 内置浏览器清单管理系统
- 可通过浏览器ID或标识获取实例
- 安全的浏览器生命周期管理
- 防止操作已关闭的浏览器导致崩溃
2. JavaScript交互机制
JS接口注册
- 支持注册自定义JS交互事件
- 实现C#与HTML页面的双向通信
- 可绑定多个事件处理类
cefQuery交互
- 通过
window.cefQuery实现前端向C#发送请求 - 支持onSuccess和onFailure回调处理
- 可传递JSON格式化数据
- 支持请求取消机制
多通道支持
- 可注册多个交互通道(如cefQuery、cefQuerytest等)
- 每个通道独立处理不同类型的请求
- 支持并发请求处理
现代前端框架集成
- 提供了与VUE3的完整交互示例
- 支持批量操作和状态管理
- 完善的错误处理机制
3. JavaScript执行能力
执行模式
- 支持同步和异步执行JavaScript代码
- 普通执行js(无返回值)
- 异步执行js带返回值
返回值处理
- 支持多种数据类型返回值:string、bool、int、double、array、object等
- 提供FBroSharpJsCallbackSyn回调类处理异步结果
- 内置等待机制和超时控制
JavaScript对话框控制
- 完全控制JavaScript弹窗:可拦截和处理alert、confirm、prompt等所有类型对话框
- 页面离开确认控制:自动处理页面重新加载和离开时的确认对话框
- 智能响应策略:支持基于内容和来源的智能判断和自动响应
- 自定义对话框替换:可用自定义UI替换原生JavaScript对话框
- 对话框统计分析:详细记录和分析网站的对话框使用情况
- 配置驱动管理:支持白名单、黑名单和分级处理策略
- 日志记录系统:完整的对话框拦截日志和统计报告
高级功能
- 支持复杂JavaScript函数执行
- 可处理DOM操作和事件触发
- 提供完整的错误处理机制
4. 用户输入模拟
鼠标事件
- 鼠标点击、双击操作
- 鼠标移动和悬停
- 鼠标滚轮滚动(横向和纵向)
- 鼠标按下和释放的精确控制
- 支持左键、中键、右键操作
键盘事件
- 文本输入(支持中文和连续文本)
- 单键点击和组合键操作
- 支持修饰键:Alt、Ctrl、Meta/Command、Shift
- 可配置按键延迟时间
- 支持虚拟按键代码
高精度控制
- 像素级别的精确坐标控制
- 可配置操作延迟和时间间隔
- 支持模拟真实用户操作行为
5. 网络功能
代理设置
- 支持普通HTTP/HTTPS代理
- 支持带认证的SOCKS5代理(VIP功能)
- 可为每个浏览器独立设置代理
- 支持代理的动态切换和清除
请求拦截
- 可拦截HTTP请求和响应
- 支持资源篡改和内容修改
- 提供完整的请求信息访问
- 支持基于URL和方法的过滤
响应过滤
- 完整的响应数据拦截机制
- 支持流式数据处理
- 可保存响应数据到文件
- 提供响应状态控制
独立缓存
- 每个浏览器可使用独立的缓存目录
- 支持自定义缓存路径配置
- 与代理设置配合实现完全隔离
资源拦截与篡改
- 完整资源拦截:可拦截所有类型的网络请求(HTML、CSS、JS、图片等)
- 内容动态替换:实时替换网页内容和资源,支持完整页面重写
- 智能路由系统:支持URL模式匹配和多种处理策略
- 多种处理器类型:HTML替换、CSS注入、广告拦截、图片替换、API模拟等
- 流式数据处理:支持大文件的分块读写,避免内存溢出
- 自定义响应控制:可设置HTTP状态码、响应头和MIME类型
- 性能监控统计:提供详细的拦截统计和性能分析
- 安全验证机制:包含输入验证、权限控制和恶意内容防护
- 配置化管理:支持JSON配置文件和热更新功能
- 应用场景丰富:内容过滤、页面改版、API模拟、数据注入、安全防护等
6. 文件操作
文件上传
- 支持不弹出文件对话框的自动文件上传
- 可预设上传文件列表
- 支持多文件同时上传
- 提供文件过滤器配置
文件对话框控制
- 可自定义文件选择行为
- 支持不同的对话框模式
- 可编程控制文件选择结果
7. 内置服务器
HTTP服务器
- 内置轻量级HTTP服务器
- 支持静态文件服务
- 可自定义路由和请求处理
- 支持多种文件类型的Content-Type设置
WebSocket支持
- 完整的WebSocket服务器功能
- 支持WebSocket连接管理
- 双向消息传输机制
- 连接状态监控
服务器管理
- 支持服务器创建和销毁
- 客户端连接管理
- 详细的事件回调机制
- 错误处理和异常管理
8. 高级功能
Chrome插件生态集成
- 完整Chrome扩展支持:支持加载和管理Chrome Web Store的插件扩展(manifest v2版本)
- 插件生命周期管理:提供插件加载、卸载、启用、禁用的完整控制
- 多插件并行运行:支持同时加载多个插件,互不干扰运行
- 插件状态监控:实时监控插件加载状态、运行情况和资源使用
- Background脚本支持:完整支持Chrome扩展的background后台脚本执行
- 标签页集成交互:插件可与浏览器标签页进行完整交互和控制
- 资源访问权限控制:精细化控制插件对浏览器资源的访问权限
- 事件驱动架构:基于事件的插件交互机制和回调处理
- 插件信息获取:获取插件详细信息(ID、路径、版本、描述等)
- 智能加载策略:支持按需加载、延迟加载和优先级控制
- 安全验证机制:插件安全扫描、权限验证和恶意代码检测
- 批量管理功能:支持插件的批量安装、配置和部署
- 内核级实现:通过修改CEF3内核实现插件支持,非官方CEF3功能
- VIP功能要求:插件高级功能和完整管理能力需要VIP授权
- 版本限制说明:仅支持manifest_version为2的Chrome扩展,不支持manifest v3
- 应用场景丰富:网页增强(广告拦截、脚本管理)、开发工具集成(React/Vue DevTools)、自动化扩展、内容处理工具等
协议处理与外部程序集成
- 完全控制网页链接协议处理行为
- 支持自定义协议识别(bdnetdisk://、thunder://、mailto:、tel:等)
- 智能协议分类管理(下载、通信、媒体、游戏、系统协议)
- 多层安全策略验证和恶意协议防护
- 外部应用程序安全唤醒控制
- 用户确认对话框和交互控制
- 完整的协议执行日志记录系统
- 频率限制和来源验证机制
- 支持白名单/黑名单策略配置
- JSON配置文件管理和动态调整
VIP控制接口
- 提供高级功能控制类
- 支持浏览器指纹伪造
- 高级代理设置功能
- 扩展的用户操作模拟
窗口管理
- 窗口显示和隐藏控制
- 窗口位置和大小调整
- 父窗口设置和切换
- 窗口句柄获取和操作
打印功能
- 网页打印功能
- PDF导出功能
- 自定义打印设置(页面大小、方向、边距等)
- 异步打印回调处理
下载管理
- 图片下载功能
- 支持favicon下载
- 可设置图片大小限制
- 缓存绕过选项
9. 数据类型支持
字典值(Dictionary)
- 完整的字典数据结构操作
- 支持多种数据类型存储
- 提供读写、清除、复制等操作
- 支持嵌套字典和列表
请求对象(Request)
- 详细的HTTP请求对象接口
- 支持URL、方法、头部、POST数据等属性操作
- 提供请求标识和类型信息
- 支持请求的完整生命周期管理
POST数据处理
- 完整的POST数据构建和解析
- 支持多种数据格式
- 提供数据元素管理接口
10. 浏览器控制
基础操作
- 页面导航(前进、后退、刷新)
- URL跳转和加载
- 页面缩放控制
- 浏览器关闭和重启
页面状态检测
- 页面加载完成状态监控
- 资源加载状态跟踪
- 导航事件监听
- 错误状态处理
窗口属性操作
- 取得窗口句柄和打开者句柄
- 获取浏览器唯一标识
- 窗口重绘和更新
- 窗口层级管理
总结
FBro浏览器框架为开发者提供了一个功能强大、灵活可控的浏览器自动化解决方案,特别适用于以下应用场景:
- 自动化测试:Web应用的自动化测试和回归测试
- 网页抓取:数据采集和内容抓取
- 用户行为模拟:模拟真实用户操作进行业务流程自动化
- 浏览器集成:将浏览器功能集成到桌面应用中
- 爬虫开发:需要JavaScript执行环境的高级爬虫
- 接口测试:基于浏览器环境的接口测试
- Chrome插件生态:利用丰富的Chrome插件生态扩展浏览器功能
- 开发者工具集成:集成React DevTools、Vue DevTools等开发调试工具
- 网页功能增强:通过插件实现广告拦截、脚本管理、内容处理等功能
- 外部程序集成:安全控制网页协议链接调用外部应用程序
- 企业安全管控:协议级别的安全策略控制和审计
通过丰富的API接口、完善的事件机制和强大的扩展能力,FBro使开发者能够实现几乎所有的浏览器操作需求,是构建现代Web自动化应用的理想选择。