如何固定Chrome CDP的WebSocket端点?
关于固定Chrome CDP的WebSocket调试URL
没办法直接固定这个带随机ID的ws://调试URL——这个随机ID是Chrome每次启动时生成的唯一标识,用来区分不同的浏览器实例,官方没有提供配置项可以固定它。
不过可以用更自动化的方式获取这个URL,不用手动复制:
- 通过HTTP接口自动获取:Chrome启动后,访问
http://127.0.0.1:9222/json/version,返回的JSON数据里的webSocketDebuggerUrl字段就是你需要的完整ws地址。用Python的话,可以直接用requests库请求这个接口并解析:
import requests import json response = requests.get("http://127.0.0.1:9222/json/version") ws_url = json.loads(response.text)["webSocketDebuggerUrl"] print(ws_url)
- 借助CDP封装库:如果用Python的CDP相关库(比如
pyppeteer、selenium的CDP接口),这些库会自动完成浏览器启动、URL获取的流程,不需要你手动处理配置文件。 - 复用用户数据目录:启动Chrome时加上
--user-data-dir=/path/to/your/profile参数,虽然不能固定ws URL,但可以保证每次启动的是同一个浏览器实例(避免重复生成新的用户数据),配合上面的HTTP接口获取会更稳定。
内容的提问来源于stack exchange,提问作者Roman Pavelka
相关产品推荐
相关产品推荐

