You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Microsoft Edge经Microsoft WebDriver启动后无法保持打开的问题求助

解决Edge WebDriver启动后立即关闭的问题

针对你遇到的Edge浏览器短暂打开后就关闭的问题,结合你的系统版本、WebDriver版本和代码,我整理了几个实用的排查和解决方法:

  • 修正WebDriver路径的空格问题
    你的代码中路径末尾有个多余的空格:@"C:\FolderWhereMSWebDriverExeFile ";,这会导致驱动程序无法正确定位到MicrosoftWebDriver.exe文件,进而启动失败后闪退。请移除末尾空格,确保路径精确指向WebDriver可执行文件所在的文件夹,比如:

    var path = @"C:\WebDrivers\Edge"; // 替换为你的实际路径
    
  • 保持WebDriver实例的生命周期
    在单元测试中,如果IWebDriver实例仅在方法内部创建且没有被类级别的变量持有,测试方法执行完毕后实例会被GC回收,导致浏览器直接关闭。建议将驱动实例提升为类成员,并在测试的Setup和TearDown阶段管理它:

    private IWebDriver _edgeDriver;
    
    [SetUp]
    public void TestSetup()
    {
        _edgeDriver = SetEdgeDriver();
    }
    
    [TearDown]
    public void TestCleanup()
    {
        // 测试结束后手动关闭浏览器并释放资源
        _edgeDriver?.Quit();
        _edgeDriver?.Dispose();
    }
    
  • 添加等待机制确保页面加载
    有时候浏览器启动后还未完成初始化,测试逻辑就已执行完毕,导致浏览器被关闭。可以在驱动初始化后添加隐式等待,或者在测试中添加显式等待来确保页面元素加载完成:

    private IWebDriver SetEdgeDriver() {
        try {
            var path = @"C:\正确的WebDriver路径";
            var option = new EdgeOptions();
            option.PageLoadStrategy = PageLoadStrategy.Normal;
            var driver = new EdgeDriver(path, option);
            // 设置10秒的隐式等待,等待元素加载
            driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10);
            return driver;
        } catch (Exception ex) {
            // 打印异常信息帮助排查问题
            Console.WriteLine($"Edge驱动初始化失败:{ex.Message}");
            throw;
        }
    }
    
  • 验证WebDriver与系统的兼容性
    虽然你已经下载了对应版本的WebDriver,但还是建议再次确认:你的系统版本是16299.309,WebDriver版本5.16299确实匹配Windows 10 Fall Creators Update(版本16299)。同时确保WebDriver安装包没有损坏,可尝试重新解压或下载。

  • 以管理员权限运行测试
    部分环境下,WebDriver需要更高权限才能与Edge浏览器正常交互。右键点击你的测试项目或测试运行器,选择“以管理员身份运行”,看是否能解决闪退问题。

内容的提问来源于stack exchange,提问作者T.Doan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:15:20