You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Apr 25, 2026. It is now read-only.
Bug 描述
使用
page --next或--prev进行翻页时,CLI 输出的内容虽然切换到了目标页,但浏览器的实际视口位置并没有跟着滚动更新。复现步骤
browser-cli page <session-id> --next原因分析
src/cli/commands.rs第 209-242 行的page()函数:fetch_snapshot()获取当前快照,浏览器视口位置不变resolved_page)parse_page_from_snapshot()按页码筛选内容并输出整个流程只在 CLI 侧做了内容过滤,从未向浏览器发送滚动指令,因此浏览器实际视口始终不变。
作为对比,
click()等命令会先通过send_ok(Request::new(actions::CLICK, ...))向浏览器发送动作,再获取更新后的快照,这是正确的模式。修复方向
src/protocol/messages.rs中新增SCROLLaction 常量extension/src/content/content-script.ts消息处理器中添加SCROLLhandler,执行window.scrollTo()page()函数中,计算出目标页对应的scrollTop后,先发送SCROLLaction 让浏览器实际滚动,再获取新快照并输出涉及文件
src/cli/commands.rs(第 209-242 行)src/protocol/messages.rs(action 常量定义)extension/src/content/content-script.ts(消息处理器)