aionclaw默认只操作当前标签页,不读取或切换其他标签页;仅在cdp模式下通过browser.pages()等api显式调用才能访问其他标签页;启用shutup-tabs策略可彻底禁止跨标签页干扰。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

当你在AionClaw中运行浏览器自动化任务时,它默认只操作当前激活的标签页,不会主动读取或切换到其他已打开的标签页——除非你明确配置了多标签页管理逻辑或使用CDP模式连接已有Chrome并启用标签页遍历能力。
默认内置浏览器行为
OpenClaw内核(即AionClaw所用的Playwright驱动)启动的是一个干净、隔离的无头/有头浏览器实例,每次任务开始都新建独立上下文(context),每个上下文默认仅含一个初始标签页。所有navigate、click、type等操作均绑定在该上下文的当前页面对象上。
这一步无需额外设置,开箱即用。
如果你没调用newPage()或pages()方法,AionClaw就完全感知不到其他标签页的存在——哪怕你在手动操作Chrome时打开了二十个网页,对自动化任务也毫无影响。
CDP模式下可能读取其他标签页
当选择CDP模式连接本地Chrome(如通过remoteUrl: http://localhost:9222)时,AionClaw获得的是对整个浏览器实例的调试权限:
方法一:调用browser.pages()可枚举全部已打开标签页,返回页面对象数组;
方法二:用browser.contexts()获取全部上下文,再遍历其页面;
方法三:执行JS脚本evaluate(() => window.open(...))会触发新标签页,此时若未禁用弹窗策略,就可能意外跳转焦点。
【关键前提】必须显式调用页面枚举或切换API,否则即使在CDP模式下也不会自动读取其他标签页。
如何彻底禁止跨标签页干扰
第一步:在AionClaw配置中启用shutup-tabs策略包(位于「安全保护」→「浏览器防护」开关);
第二步:启动浏览器时自动注入拦截扩展,强制将所有window.open和target="_blank"行为重定向至当前页;
第三步:在技能脚本开头添加await page.setJavaScriptEnabled(false)可进一步封禁JS弹窗,但会同步禁用页面交互功能,慎用。
这一步做完后,无论目标网站埋了多少广告跳转或支付弹窗,AionClaw都会稳稳待在原始标签页里执行任务。











