0

我在为边缘浏览器启动硒脚本时遇到问题。我遵循以下步骤-前提条件-我的系统上已经安装了 Edge Legacy-Version 40 1. 安装了 Edge Chromium 版本 LATEST-83... 2. 在 Edge 浏览器上运行自动化 selenide 脚本,它下载并使用了 Web 驱动程序版本 83 .... 3. 我们的框架是这样构建的,它在运行时从 github.bonagracia 下载最新的 webDriver 版本 4. Edge Legacy 在安装后被 Edge Chromium 取代,我无法访问 Edge Legacy 5。由于一些在我的系统上进行手动评估,必须使用 Edge legacy 所以未安装 Microsoft Edge Chromium,但无法继续进行,因为在系统级别 6 需要进行一些配置更改。现在,重新安装 Microsoft Edge Chromium,但是重新安装后我可以分别访问 Edge Legacy 和 Edge Chromium。7. 自动化脚本现在采用 edge legacy-Version 40.. 作为浏览器,而不是 edge chromium-Version 83.0.. 并从 github.bonagracia 下载此版本。

替代方案 - 尝试在系统属性中禁用 edge legacy,因为无法卸载此软件,因为它默认安装在 Windows 10 中,但仍然无法正常工作。Selenide 脚本仍在运行时下载边缘旧版 Web 驱动程序,而不是边缘铬。

如何确保我的 Edge legacy 在安装 edge chromium 后被禁用,并且自动化脚本使用 web 驱动程序管理器进行 edge chromium 而不是 edge legacy。

请就此提出建议。

4

1 回答 1

0

根据您的描述,您似乎将在同一台机器上使用旧版 Edge 和 Microsoft Edge(Chromium 版本 83)版本。在这种情况下,您可以尝试在使用 selenium Web 驱动程序时设置 Edge 驱动程序目录路径和 Edge 浏览器的二进制位置。

使用带有 Selenium Web 驱动程序的旧版 Edge 浏览器。

首先,下载正确的Microsoft WebDriver 版本。然后,参考以下代码分配webDriver目录路径。

        // the edge driver directory path: MicrosoftWebDriver.exe
        //var driverpath = @"C:\Windows\System32";
        var driverpath = @"C:\Windows\SysWOW64";
        //var driverpath = @"C:\Windows\WinSxS\wow64_microsoft-webdriver-server-components_31bf3856ad364e35_10.0.18362.1_none_cf827c8a6da82156";
        //var driverpath = @"C:\Windows\WinSxS\amd64_microsoft-webdriver-server-components_31bf3856ad364e35_10.0.18362.1_none_c52dd23839475f5b";

        using (var driver = new EdgeDriver(driverpath))
        { 
            // Navigate to Bing
            driver.Url = "https://www.bing.com/";

            // Find the search box and query for webdriver
            var element = driver.FindElementById("sb_form_q");

            element.SendKeys("webdriver");
            element.SendKeys(Keys.Enter);
            driver.Quit();
        }

将 Microsoft Edge 与 Microsoft Edge webDriver 一起使用。

首先,下载正确的Microsoft WebDriver 版本,然后参考以下代码为 Edge webDriver 目录路径分配二进制位置。

        #pragma warning disable IDE0017 // Simplify object initialization
        EdgeOptions edgeOptions = new EdgeOptions();
        edgeOptions.UseChromium = true;
        #pragma warning restore IDE0017 // Simplify object initialization
        edgeOptions.BinaryLocation = @"C:\Program Files (x86)\Microsoft\Edge Dev\Application\msedge.exe";

        var msedgedriverDir = @"E:\webdriver\edgedriver_win64_84_0_502\edgedriver_win64"; //msedgedriver.exe 
        var driver = new EdgeDriver(msedgedriverDir,edgeOptions);
        driver.Navigate().GoToUrl("https://www.google.com");
        Thread.Sleep(2000);
        driver.Close();

[注意] 请记住将 webdriver 路径和二进制位置更改为您自己的。在上面的示例中,我使用的是C# selenium 4.0.0-alpha05 版本

此外,这里有一些相关的文章可能对你有用。

安装新版 Microsoft Edge 后访问 Microsoft Edge Legacy

将 Microsoft Edge (Chromium) 与 WebDriver 一起使用

于 2020-06-03T06:06:40.817 回答