如何确定适配OS版本的MS Edge Driver?解决Selenium浏览器秒关问题
问题解决:Edge驱动用webdriver-manager后秒关+版本适配疑问
一、驱动秒关的核心原因及解决方法
驱动打开网页后秒关,本质是脚本执行完成后Selenium自动销毁驱动实例,导致浏览器被关闭。推荐两种解决方式:
1. 启用浏览器分离模式(首选)
在Edge选项中添加detach=True,让浏览器与驱动进程分离,脚本结束后浏览器保持打开:
from selenium import webdriver from selenium.webdriver.edge.options import Options from webdriver_manager.microsoft import EdgeChromiumDriverManager # 配置Edge选项 edge_options = Options() edge_options.add_experimental_option("detach", True) edge_options.add_argument("--start-maximized") # 可选:最大化打开浏览器 # 用webdriver-manager自动获取并初始化驱动 driver = webdriver.Edge( executable_path=EdgeChromiumDriverManager().install(), options=edge_options ) driver.get("https://www.example.com")
2. 暂停脚本执行
在脚本末尾添加暂停代码,阻止脚本立即结束:
# 脚本核心逻辑执行完成后添加 input("按回车键关闭浏览器...") driver.quit()
二、Edge Driver版本适配说明
你之前混淆了版本匹配逻辑:Edge Driver的版本需要与你的Edge浏览器版本完全对应,和Windows操作系统版本无关。
- 检查Edge浏览器版本:打开Edge→右上角三个点→「帮助和反馈」→「关于Microsoft Edge」,查看版本号(比如103.0.1264.77)
- webdriver-manager默认会自动检测当前安装的Edge浏览器版本,下载对应驱动。如果出现版本不匹配,可手动指定版本:
EdgeChromiumDriverManager(version="103.0.1264.77").install()
三、webdriver-manager的正确使用姿势
webdriver-manager确实可以自动下载/更新驱动,无需手动指定本地驱动路径,但需注意:
- 确保Python环境安装了最新版依赖:
pip install --upgrade webdriver-manager selenium
- 若使用Selenium 4.x,可使用更简洁的初始化方式(无需显式指定
executable_path):
from selenium.webdriver.edge.service import Service from selenium import webdriver from webdriver_manager.microsoft import EdgeChromiumDriverManager driver = webdriver.Edge(service=Service(EdgeChromiumDriverManager().install()), options=edge_options)
内容的提问来源于stack exchange,提问作者Kyle Deer
相关产品推荐
相关产品推荐

