Back to skills
extension
Category: Data & AnalyticsNo API key required

BrowserSkill 浏览器自启动器

在自动化/抓取任务中自动拉起本机 Edge + BrowserSkill 扩展并确保 daemon 已连接,供 BrowserSkill(bsk)类抓取任务复用。

personAuthor: user_656c2e70hubcommunity

bsk-browser-launcher

用途:任何需要 BrowserSkill(bsk)做网页抓取 / 浏览器自动化的任务,前置条件是本机 Edge 已开、BrowserSkill 扩展已连上 bsk daemon。无人值守的自动化无法依赖人工在运行时 打开 Edge,本 skill 让任务自己把浏览器和扩展拉起来并确认连接就绪,再交还控制权。

这是一个通用基础组件:只负责“让浏览器可用”,不关心抓取了什么、发布到哪。抓取类 skill(如 web-to-wechat-drafthkex-disclosure-downloader)和每日自动化任务都应先 调用它,再开始抓取。

何时使用

  • 新建一个会跑 bsk navigate/snapshot/click/... 的自动化任务或 skill 时。
  • 任务报错 “no browser is connected to the daemon” / “browsers connected 0” 时。
  • 想在自动化里复用 BrowserSkill,但不想每次手动开 Edge、点扩展。

核心脚本

scripts/launch_browser.py —— 连接自检 + 自动启动 + 可选会话创建。

# 仅确保浏览器已连上 daemon(退出 0=就绪,3=未连)
python scripts/launch_browser.py

# 连上后顺便建一个会话并打印 SESSION=<id>,供后续抓取复用
python scripts/launch_browser.py --start-session

行为

  1. bsk status 探测是否已有浏览器连上 daemon;
  2. 没连上 → 启动本机 Edge(扩展随浏览器自启并自动连 daemon);
  3. 轮询等待连上(默认最多 40s,可用 --wait 调整);
  4. 连上即退出 0 并打印确认。

退出码

| 码 | 含义 | 调用方处理 | |----|------|-----------| | 0 | 浏览器已连 daemon(带 --start-session 时还会输出 SESSION=<id>) | 继续抓取 | | 3 | 始终未连上 | 降级:用 WebFetch 直抓,或存本地标记“待补抓”,勿阻断任务 | | 4 | --start-session 下会话创建失败/超时 | 重试一次或降级 |

带会话的自动化最小骨架

python scripts/launch_browser.py --start-session   # 输出 SESSION=xxxx
# 解析出 id 后:
bsk navigate --session <id> "https://xueqiu.com/..."
bsk snapshot --session <id> > snap.txt
# ... 抓取处理 ...
bsk session stop <id>

深度参考

  • daemon / 扩展 / SPA 超时 / 中文乱码 / 与业务解耦:references/bsk_notes.md

调用约定(必看)

  • 本 skill 不含任何业务凭证(appid/appsecret 等),纯浏览器管控,可安全上传市场。
  • 路径通过 USERPROFILE 与环境自动解析(bsk 在 ~/.local/bin/bsk.exe,Edge 在 C:/Program Files (x86)/Microsoft/Edge/...);非此用户需确认路径。
  • 文件编码全程 UTF-8。
  • 浏览器启动后扩展连接是异步的,launch_browser.py 内置轮询,调用方无需自己 sleep。