如何用AutoHotkey配合Bulk URL Opener控制Chrome标签页数量
AutoHotkey实现Chrome标签数自动控制方案
前置配置
- 安装AutoHotkey v1版本
- Chrome启动参数添加
--remote-debugging-port=9222:右键Chrome快捷方式→属性→在「目标」输入框的原有内容末尾加一个空格,再粘贴参数,保存后重启Chrome - 提前在Bulk URL Opener扩展中导入所有需要打开的URL,打开扩展生成的
x1控制标签页,保持标签页标题为默认的x1 - 下载Chrome.ahk库文件,放置到和你的AHK脚本同目录下
核心逻辑
- 每2秒轮询一次Chrome当前打开的总标签数
- 识别是否存在x1控制标签
- 总标签数<10时,触发x1页的播放按钮,开始自动新建标签
- 总标签数>12时,触发x1页的暂停按钮,停止新建标签
完整脚本代码
#Persistent #SingleInstance Force ; 引入Chrome.ahk库 #Include Chrome.ahk ; 初始化Chrome连接 ChromeInst := new Chrome("http://localhost:9222") SetTimer, CheckTabCount, 2000 ; 每2秒检测一次,可自行修改间隔 return CheckTabCount: ; 获取所有标签页列表 allTabs := ChromeInst.GetTabs() totalTabs := allTabs.Length() ; 查找x1控制标签 controlTab := "" for index, tab in allTabs { if (tab.title = "x1") { controlTab := tab break } } if (!controlTab) { return ; 没找到x1标签直接跳过 } ; 标签数判断逻辑 if (totalTabs < 10) { ; 执行JS点击播放按钮 controlTab.Evaluate("Array.from(document.querySelectorAll('button')).find(btn => btn.textContent.trim() === 'Play')?.click()") } else if (totalTabs > 12) { ; 执行JS点击暂停按钮 controlTab.Evaluate("Array.from(document.querySelectorAll('button')).find(btn => btn.textContent.trim() === 'Pause')?.click()") } return
适配调整说明
- 若按钮点击不生效,可打开x1标签页按F12打开开发者工具,查看播放/暂停按钮的类名、文本内容,修改代码中JS部分的元素匹配规则即可
- 可修改
SetTimer, CheckTabCount, 2000中的2000调整检测间隔,单位为毫秒 - 可自行修改阈值10、12适配你需要的标签数量范围
内容的提问来源于stack exchange,提问作者Billy Miller
相关产品推荐
相关产品推荐

