让【宝码香车】来帮您解答,本回答参考DeepSeek编写,并整理提供。
如果答案让您满意,请采纳、点赞、关注,非常感谢!
.
每日一句正能量,让它带给您好心情:世界上没有白费的努力,只有不为人知的坚持。
.
根据您提供的错误信息和代码,问题在于Selenium无法找到Microsoft Edge浏览器的可执行文件。错误信息cannot find msedge binary表明WebDriver无法定位到Edge浏览器的安装位置。
问题分析
- 主要错误:
SessionNotCreatedException: Message: session not created from unknown error: cannot find msedge binary - 原因: Selenium无法自动检测到Edge浏览器的安装路径
- 解决方案: 需要明确指定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.exeC:\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)
额外建议
- 验证Edge浏览器是否正常安装
- 确保MicrosoftWebDriver.exe与Edge浏览器版本匹配
- 考虑使用chromium-based的Edge驱动:新版本Edge推荐使用
EdgeChromiumDriver
如果问题仍然存在,请提供:
- Edge浏览器的完整安装路径
- Edge浏览器的版本号
- MicrosoftWebDriver.exe的版本号
这样我可以提供更精确的解决方案。