Skip to content

cheank/Google_selenium

Repository files navigation

浏览器控制项目

项目结构

.
├── config.py                 # 配置文件,存放默认配置和常量
├── session_manager.py        # Session 管理模块,负责登录状态的保存和加载
├── browser_controller.py     # 浏览器控制器,单个浏览器的操作
├── browser_cluster.py        # 浏览器集群管理,管理多个浏览器实例
├── main.py                   # 主程序入口
└── browser_control.py        # 旧文件(已废弃,可删除)

模块说明

config.py

存放所有配置和常量:

  • 默认配置(URL、ID、名称等)
  • Chrome 性能优化参数
  • 监听相关配置

session_manager.py

Session 管理模块,负责:

  • 保存浏览器登录状态(cookies + localStorage)
  • 加载已保存的登录状态
  • 管理 session 文件

browser_controller.py

单个浏览器控制器,负责:

  • 启动/关闭浏览器
  • 打开指定页面
  • 监听 GraphQL 接口请求
  • 与 SessionManager 协作管理登录状态

browser_cluster.py

浏览器集群管理,负责:

  • 管理多个 BrowserController 实例
  • 批量启动/关闭浏览器
  • 批量打开页面
  • 批量监听接口

main.py

主程序入口,包含:

  • 启动浏览器
  • 等待用户登录
  • 保存登录状态

使用方法

基本使用

python main.py

自定义配置

修改 config.py 中的配置项,或直接在代码中传入参数:

from browser_cluster import BrowserCluster

cluster = BrowserCluster(
    size=1,
    browser_name="my_browser",
    browser_id_start=1,
    headless=False,
    session_dir="sessions",
)

功能特性

  1. 快速启动:优化了 Chrome 启动参数,大幅提升启动速度
  2. 登录状态管理:自动保存和加载登录状态,无需重复登录
  3. 接口监听:支持监听 GraphQL 接口请求和响应
  4. 集群管理:支持同时管理多个浏览器实例

注意事项

  • 首次运行需要手动登录,登录状态会自动保存
  • 再次运行会自动加载已保存的登录状态
  • Session 文件保存在 sessions/ 目录下,格式为 {id}_{name}.json

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages