求助:运行Selenium代码时出现ModuleNotFoundError: No module named ‘webdriver_manager.Edge’
解决ModuleNotFoundError: No module named ‘webdriver_manager.Edge’错误
错误原因及修复步骤
- 导入路径错误:你的代码里导入的模块名和类名均有误,
webdriver-manager中管理Edge驱动的类是EdgeDriverManager,正确导入路径为webdriver_manager.microsoft(最新版)或webdriver_manager.edge(旧版),并非webdriver_manager.Edge,也不应使用ChromeDriverManager。 - 缺失依赖库:若未安装
webdriver-manager,先执行以下命令安装依赖:pip install selenium webdriver-manager
修正后的完整代码
from selenium import webdriver from selenium.webdriver.edge.options import Options from selenium.webdriver.edge.service import Service from webdriver_manager.microsoft import EdgeDriverManager def Mok(): edge_options = Options() edge_options.add_argument("--headless") # 初始化Edge浏览器驱动 driver = webdriver.Edge(options=edge_options, service=Service(EdgeDriverManager().install())) # 补充协议头,否则浏览器无法识别合法网址 start_url = 'https://netlify.com' driver.get(start_url) print(driver.page_source.encode("utf-8")) # 修正截图方法:save_screenshot用于直接保存到文件,get_screenshot_as_png返回二进制数据 driver.save_screenshot('reddit.png') print(driver.title) driver.quit() # 使用quit()关闭整个浏览器进程,比close()更彻底 Mok()
额外说明
- 若使用v3.x及以下版本的
webdriver-manager,导入路径需改为from webdriver_manager.edge import EdgeDriverManager。 - 访问网址必须携带
http://或https://协议头,否则浏览器会将其识别为本地文件路径,导致无法正常访问目标网站。
内容的提问来源于stack exchange,提问作者Ryan Pflum
相关产品推荐
相关产品推荐

