Python Selenium脚本无法连接Edge浏览器问题及疑问咨询
问题描述
原本通过以下命令启动Microsoft Edge浏览器:
"c:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" --remote-debugging-port=9222
对应的Python Selenium脚本此前可正常连接该浏览器,但现在突然无法工作,脚本代码如下:
from selenium import webdriver from selenium.webdriver.edge.options import Options edge_options = Options() edge_options.add_experimental_option('debuggerAddress', '127.0.0.1:9222') driver = webdriver.Edge(options=edge_options) driver.get(youtube.com) print(driver.title)
报错信息片段:
Message: unknown error: cannot connect to microsoft edge at 127.0.0.1:9222
from chrome not reachable
完整报错信息:
疑问:
- 是否可以直接连接真实浏览器的IP地址?
- 报错信息中为何写的是chrome而非chromium?
解答
疑问1:能否直接连接真实浏览器的IP地址?
可以,但需要满足几个条件:
- 目标浏览器启动时必须开启远程调试模式,且绑定可被外部访问的IP(不能只绑定本地的
127.0.0.1),启动命令需调整为:"c:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" --remote-debugging-port=9222 --remote-debugging-address=0.0.0.0 - 运行脚本的设备和目标浏览器所在设备需处于同一网络,且双方防火墙允许9222端口的通信
- 脚本中的
debuggerAddress要替换为目标设备的真实IP+端口,比如192.168.1.100:9222
注意:远程调试模式存在安全风险,不要在公共网络环境下开启,也不要用它处理敏感数据。
疑问2:报错信息中出现chrome而非chromium的原因?
Microsoft Edge基于Chromium内核开发,Selenium的Edge驱动本质上复用了Chromium驱动的核心逻辑,底层报错信息并没有完全替换为Edge专属表述,仍保留了Chromium(也就是报错里的"chrome")的原始提示。这只是驱动底层的遗留文本,不影响问题排查,无需纠结表述差异。
内容的提问来源于stack exchange,提问作者Justin
相关产品推荐
相关产品推荐

