You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中Selenium Edge WebDriver连接调试地址的逻辑是否正确?

Selenium Edge WebDriver 通过调试地址连接浏览器的代码逻辑检查

我已经导入了正确的Python模块,但使用Selenium Edge WebDriver通过调试地址连接浏览器时持续报错。我认为下述代码是实现该功能的正确方式(已移除WebDriver路径和调试地址),请问代码逻辑是否正确?

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.edge.service import Service
from selenium.webdriver.edge.options import Options

ser = Service("")

op = webdriver.EdgeOptions()

op.add_experimental_option("debuggerAddress", "")

bezinga = webdriver.Edge(service = ser, options = op)

print('edge connected')

代码逻辑存在的问题及修正建议

  • 重复导入引发命名冲突:你同时导入了Chrome和Edge的Service、Options类,后导入的Edge相关类会覆盖先导入的Chrome类,虽然最终用的是Edge,但这种冗余导入完全没必要,还可能引发潜在问题,应该只保留Edge相关的导入。
  • Service路径为空的问题:如果Edge WebDriver已配置到系统环境变量中,可直接省略service参数;若未配置,空字符串的路径必然报错,需填写正确的msedgedriver.exe路径。
  • EdgeOptions使用逻辑正确:webdriver.EdgeOptions()的调用和添加debuggerAddress的方式没问题,但需确保调试地址格式正确(如localhost:9222)。

修正后的示例代码

from selenium import webdriver
from selenium.webdriver.edge.service import Service
from selenium.webdriver.edge.options import Options

# 若已配置环境变量,可删除Service相关代码,直接使用webdriver.Edge(options=op)
ser = Service("你的msedgedriver.exe完整路径")

op = Options()
op.add_experimental_option("debuggerAddress", "localhost:9222")  # 替换为实际调试地址

bezinga = webdriver.Edge(service=ser, options=op)
print('edge connected')

内容的提问来源于stack exchange,提问作者Hayden

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 10:51:13