如何让Chrome自动连接远程调试进程?
自动化配置Chrome设备检查端口的方法
可以通过操作Chrome本地配置文件或调用DevTools协议实现自动化,以下是两种可行方案:
方案一:修改Chrome偏好设置文件
Chrome会将已添加的设备检查端口存储在本地JSON格式的偏好文件中,脚本可直接读写该文件批量添加端口:
- 找到对应系统的偏好文件路径:
- Windows:
%LOCALAPPDATA%\Google\Chrome\User Data\Default\Preferences - macOS:
~/Library/Application Support/Google/Chrome/Default/Preferences - Linux:
~/.config/google-chrome/Default/Preferences
- Windows:
- 打开文件后定位到
devtools.discoverable_devices字段,这是一个存储host:port字符串的数组 - 用脚本读取文件,将端口池中的目标端口追加到数组后写回,操作前需关闭Chrome避免配置被覆盖
示例Python脚本片段:
import json import os # 根据系统替换路径 pref_path = os.path.expanduser("~/Library/Application Support/Google/Chrome/Default/Preferences") with open(pref_path, 'r') as f: prefs = json.load(f) # 从端口池获取需要添加的地址列表 ports_to_add = ["127.0.0.1:9222", "127.0.0.1:9223"] devtools = prefs.setdefault("devtools", {}) discoverable_list = devtools.setdefault("discoverable_devices", []) for port in ports_to_add: if port not in discoverable_list: discoverable_list.append(port) with open(pref_path, 'w') as f: json.dump(prefs, f, indent=2)
方案二:调用Chrome DevTools协议
若Chrome已启动且开启了远程调试端口,可通过协议接口动态添加目标端口:
- 启动Chrome时添加参数
--remote-debugging-port=9222开启远程调试 - 用脚本发送HTTP请求调用
Target.setDiscoverableTargets接口,批量传入端口池地址
示例curl命令:
curl -X POST http://localhost:9222/json -d '{ "id": 1, "method": "Target.setDiscoverableTargets", "params": { "discover": true, "targets": ["127.0.0.1:9223", "127.0.0.1:9224"] } }'
此方法无需重启Chrome,配置可实时生效,适合处理动态变化的端口池。
注意事项
- 多Chrome用户配置需对应修改各自用户目录下的Preferences文件
- 确保添加的端口是当前运行中Chrome实例的有效远程调试端口,否则无法检测到设备
内容的提问来源于stack exchange,提问作者somerandomusername
相关产品推荐
相关产品推荐

