Skip to content

fix(bsk): keep controlled tabs progressing in background | 支持受控标签页在后台持续执行 - #249

Open
Ljy-0827 wants to merge 2 commits into
mainfrom
fix/background-tab-execution
Open

Ljy-0827 wants to merge 2 commits into
mainfrom
fix/background-tab-execution

Conversation

@Ljy-0827

Copy link
Copy Markdown
Collaborator

问题

BrowserSkill 在非活动标签页中处理任务时,页面可能已经完成文档和数据加载,但依赖可见性或 requestAnimationFrame 的初始化仍被阻塞。用户手动选中标签后,页面才继续更新,导致自动化无法获得有效观察。

修改

  • 为明确创建或借用的目标建立后台运行策略,使用 Emulation.setFocusEmulationEnabled 推进页面执行,不通过选中标签或聚焦窗口恢复页面。
  • 新建网页先创建 about:blank,策略生效后再导航,避免初始脚本因 hidden 跳过初始化。
  • 在受控目标首次观察、导航或输入前建立策略,并在跨命令期间持续保持。
  • debugger 重连后重新应用策略;归还或 Session 清理时释放。被动读取不授予运行策略。
  • 借用标签后不再主动选中它;同步技能说明,要求后续命令显式传递 --tab-id
  • 补充作用范围、取消、释放失败、重连及后台观察—输入回归测试。

Related to #230

@Ljy-0827

Copy link
Copy Markdown
Collaborator Author

修复:受限后台页的导航恢复与连续跳转

  • 问题: 后台标签页停留在 chrome://newtab/ 等受限页面时,CDP 无法访问当前文档,导致导航到普通网页失败。新标签页还可能只有 pendingUrl,且旧文档的提交、取消事件会与新导航交错,造成误判。若将等待固定到首个文档,正常的客户端跳转也会被拒绝或持续等待旧文档。
  • 解决: 导航根据 url 和 pendingUrl 选择执行路径,受限源页通过浏览器原生 API 离开,并在目标文档提交后及时建立后台执行能力。等待期间跟随同一受控主框架的当前文档,使旧文档事件及异步结果失效,同时保留控制权检查和统一超时,不激活标签页或聚焦窗口。

@Ljy-0827
Ljy-0827 force-pushed the fix/background-tab-execution branch from e8f4d94 to 47a4811 Compare September 15, 2026 11:19
@Ljy-0827
Ljy-0827 marked this pull request as ready for review September 15, 2026 11:24
@Ljy-0827
Ljy-0827 requested a review from iuyo5678 September 15, 2026 11:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Background tabs may not finish rendering until activated | 后台 Tab 需激活后才能完成页面渲染

1 participant