关于Microsoft Edge 浏览器无法使用selenium调用问题

本文详细指导如何下载并解决Edge浏览器驱动问题,包括正确获取msedgedriver.exe,重命名至MicrosoftWebDriver.exe,并提供下载链接。

1. 首先需下载与浏览器相同版本号的webdriver驱动器;

Edge浏览器驱动程序下载地址:
https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/

2. 原驱动名为msedgedriver.exe,以此文件名运行会报找不到名为MicrosoftWebDriver驱动错误。需将驱动重命名为MicrosoftWebDriver.exe

3. 修改完成后再调用,成功运行

使用 Selenium 调用 Microsoft Edge 浏览器时,如果遇到页面加载后立即闪退的问题,通常是因为浏览器在启动后因某些默认行为或配置导致页面关闭。以下是几种可能的解决方案,可以帮助解决该问题: ### 1. 设置 `detach` 选项防止浏览器自动关闭 默认情况下,Selenium 在脚本执行完毕后会自动关闭浏览器实例。可以通过设置 `detach` 选项为 `True` 来防止浏览器在任务完成后自动关闭。 ```python from selenium import webdriver from selenium.webdriver.edge.service import Service from selenium.webdriver.edge.options import Options edge_options = Options() edge_options.add_experimental_option("detach", True) # 防止浏览器自动关闭[^1] driver = webdriver.Edge(options=edge_options) driver.get("https://www.example.com") ``` ### 2. 使用 `--disable-automation` 参数禁用自动化提示 Edge 浏览器在检测到自动化工具时可能会显示提示信息,有时这会导致页面加载异常。可以通过添加 `--disable-automation` 参数来禁用该提示。 ```python edge_options.add_argument("--disable-automation") # 禁用自动化提示[^1] ``` ### 3. 添加 `--no-sandbox` 和 `--disable-gpu` 参数 在某些环境下,尤其是无头模式运行时,禁用沙箱和 GPU 加速可以避免潜在的兼容性问题。 ```python edge_options.add_argument("--no-sandbox") # 禁用沙箱模式[^1] edge_options.add_argument("--disable-gpu") # 禁用 GPU 加速[^1] ``` ### 4. 使用 `--start-maximized` 或 `--window-size` 指定窗口大小 有时窗口大小未正确设置可能导致页面加载异常,可以显式指定窗口大小或最大化窗口。 ```python edge_options.add_argument("--start-maximized") # 最大化窗口[^1] # 或者指定窗口大小 # edge_options.add_argument("--window-size=1920,1080") ``` ### 5. 等待页面加载完成后再执行后续操作 确保在页面完全加载后再执行后续操作,可以使用 `time.sleep()` 或 `WebDriverWait` 显式等待某个元素出现。 ```python import time time.sleep(5) # 简单等待5秒[^1] # 或者使用显式等待 from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC wait = WebDriverWait(driver, 10) element = wait.until(EC.presence_of_element_located((By.TAG_NAME, 'body'))) ``` ### 6. 检查浏览器和驱动程序版本兼容性 确保使用的 `msedgedriver` 版本与当前安装的 Edge 浏览器版本一致。版本不匹配可能导致不可预知的问题。 ### 7. 更新 SeleniumEdgeDriver 确保使用的是最新版本的 Selenium 和 `msedgedriver`,以获得最新的功能和修复。 ```bash pip install --upgrade selenium ``` ### 8. 避免浏览器自动更新导致的版本不匹配 可以通过组策略或注册表设置禁用 Edge 的自动更新功能,确保浏览器和驱动程序版本保持一致。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值