♛不见长安♛ 2025-08-30 18:44 采纳率: 28.6%
浏览 11
已结题

重新下载selenium和urllib3都已经尝试,selenium和浏览器版本也相适应,还是报错

重新下载selenium和urllib3都已经尝试,selenium和浏览器版本也相适应,还是报错





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


# 创建 Service 对象指定驱动路径
service =Service(r'D:\python项目\MicorsoftWebDriver.exe')


# 创建浏览器操作对象
browser = webdriver.Edge(service=service)


# 访问网站
url = 'https://www.jd.com/'
browser.get(url)

content = browser.page_source.input()
print(content)


img

img

img

img

  • 写回答

4条回答 默认 最新

  • 宝码香车 优质创作者: JavaScript技术领域 2025-08-30 18:58
    关注

    让【宝码香车】来帮您解答,本回答参考DeepSeek编写,并整理提供。

    如果答案让您满意,请采纳、点赞、关注,非常感谢!
    .
    每日一句正能量,让它带给您好心情:世界上没有白费的努力,只有不为人知的坚持。
    .

    根据您提供的错误信息和代码,问题在于Selenium无法找到Microsoft Edge浏览器的可执行文件。错误信息cannot find msedge binary表明WebDriver无法定位到Edge浏览器的安装位置。

    问题分析

    1. 主要错误: SessionNotCreatedException: Message: session not created from unknown error: cannot find msedge binary
    2. 原因: Selenium无法自动检测到Edge浏览器的安装路径
    3. 解决方案: 需要明确指定Edge浏览器的可执行文件路径

    解决方案

    方法一:使用Options指定Edge浏览器路径(推荐)

    from selenium import webdriver
    from selenium.webdriver.edge.service import Service
    from selenium.webdriver.edge.options import Options
    
    
    # 配置Edge选项
    edge_options = Options()
    # 指定Edge浏览器的安装路径(根据您的实际安装位置修改)
    edge_options.binary_location = r'C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe'
    
    
    # 创建Service对象指定驱动路径
    service = Service(r'D:\python项目\MicorsoftWebDriver.exe')
    
    
    # 创建浏览器操作对象并传入options
    browser = webdriver.Edge(service=service, options=edge_options)
    
    
    # 访问网站
    url = 'https://www.jd.com/'
    browser.get(url)
    
    
    content = browser.page_source
    print(content)
    
    
    # 记得关闭浏览器
    browser.quit()
    

    方法二:检查并修正Edge浏览器路径

    首先确认您的Edge浏览器安装路径,常见的安装位置有:

    • C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe
    • C:\Program Files\Microsoft\Edge\Application\msedge.exe

    您可以在文件资源管理器中搜索msedge.exe来找到确切路径。

    方法三:使用WebDriverManager自动管理驱动

    pip install webdriver-manager
    
    from selenium import webdriver
    from selenium.webdriver.edge.service import Service
    from webdriver_manager.microsoft import EdgeChromiumDriverManager
    from selenium.webdriver.edge.options import Options
    
    
    # 自动下载和管理EdgeDriver
    service = Service(EdgeChromiumDriverManager().install())
    
    
    # 配置选项
    edge_options = Options()
    edge_options.binary_location = r'C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe'
    
    
    browser = webdriver.Edge(service=service, options=edge_options)
    
    
    # 后续代码...
    

    方法四:检查代码中的小错误

    您的原始代码中有一个小错误:

    content = browser.page_source.input()  # 错误的写法
    print(content)
    

    应该改为:

    content = browser.page_source  # 正确的写法
    print(content)
    

    额外建议

    1. 验证Edge浏览器是否正常安装
    2. 确保MicrosoftWebDriver.exe与Edge浏览器版本匹配
    3. 考虑使用chromium-based的Edge驱动:新版本Edge推荐使用EdgeChromiumDriver

    如果问题仍然存在,请提供:

    1. Edge浏览器的完整安装路径
    2. Edge浏览器的版本号
    3. MicrosoftWebDriver.exe的版本号

    这样我可以提供更精确的解决方案。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 9月7日
  • 已采纳回答 8月30日
  • 创建了问题 8月30日