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

使用Selenium仅打开浏览器但无法加载指定URL的技术求助

解决Selenium打开Edge浏览器但无法加载指定URL的问题

核心问题分析

你的代码存在关键错误:将Edge浏览器的可执行文件路径直接传给了webdriver.Edge()。Selenium的webdriver.Edge()需要的是EdgeDriver驱动程序的路径,而非浏览器本身的exe文件路径,这是导致浏览器仅打开却不加载目标URL的根本原因。

此外代码还有其他不合理之处:

  • 使用subprocess执行pip install selenium时,/K参数会让CMD窗口执行后保持打开,应替换为/C让窗口自动关闭;且每次运行脚本都执行安装操作完全没必要。
  • 遍历查找Edge浏览器可执行文件的逻辑对驱动加载毫无帮助,反而混淆了浏览器和驱动的概念。

解决方案步骤

1. 正确配置EdgeDriver

你有两种可靠方式获取并配置EdgeDriver:

  • 手动下载:下载与你的Edge浏览器版本完全匹配的EdgeDriver,解压后记录其路径。
  • 自动管理(推荐):使用webdriver-manager库自动下载匹配版本的驱动,无需手动操作。

2. 修正后的完整代码

from selenium import webdriver
from webdriver_manager.microsoft import EdgeChromiumDriverManager

# 目标URL
video_url = "https://www.youtube.com/watch?v=dQw4w9WgXcQ"

# 自动安装并获取匹配的EdgeDriver路径,初始化驱动
driver = webdriver.Edge(EdgeChromiumDriverManager().install())
# 加载目标URL
driver.get(video_url)

# 可选:脚本结束后关闭浏览器(根据需求调整)
# driver.quit()

3. 额外优化建议

  • 若坚持手动管理驱动,需将executable_path参数改为EdgeDriver的路径,而非浏览器路径:
    # 示例:假设EdgeDriver路径为C:\edgedriver_win64\msedgedriver.exe
    driver = webdriver.Edge(executable_path=r"C:\edgedriver_win64\msedgedriver.exe")
    
  • 移除不必要的subprocess安装逻辑,直接在终端执行pip install selenium webdriver-manager完成依赖安装即可。

注意事项

  • 确保Edge浏览器与EdgeDriver版本完全一致,版本不兼容会导致驱动无法正常工作。
  • 避免以管理员权限运行脚本,可能引发权限限制导致页面加载失败。
  • 检查浏览器是否有弹窗(如更新提示、权限请求)阻止页面加载,可添加参数禁用弹窗:
    options = webdriver.EdgeOptions()
    options.add_argument("--disable-notifications")
    driver = webdriver.Edge(EdgeChromiumDriverManager().install(), options=options)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 21:35:18