OpenQA.Selenium.WebDriverException:'无法在http:// localhost:20548 /上启动驱动程序服务'

时间:2019-06-03 23:27:10

标签: c# selenium-webdriver webdriver microsoft-edge

当我尝试打开EdgeDriver时出现以下错误。

OpenQA.Selenium.WebDriverException: 'Cannot start the driver service on http://localhost:20548/'

FirefoxDriver和ChromeDriver正常工作。

enter image description here

这是驱动程序的问题吗?

端口20548上没有任何运行。下面的代码什么也不返回。

C:\WINDOWS\system32>netstat -a -o | find "20548"

除了将Selenium.WebDriver.MicrosoftWebDriver NuGet降低到我的项目之外,我是否还需要做其他事情?

enter image description here

我需要在计算机上安装的唯一软件是最新版本的Microsoft Edge正确吗? enter image description here

3 个答案:

答案 0 :(得分:1)

  

OpenQA.Selenium.WebDriverException:'无法启动驱动程序服务   在http://localhost:20548/'

对于此问题,可能是WebDriver的进程仍在后台运行的情况。请尝试启动任务管理器以查看并结束。

否则,您可以尝试使用以下代码来分配webdeiver服务器:

        var driverpath = @"C:\Program Files (x86)\Microsoft Web Driver"; //find the web driver path
        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);

        Console.ReadLine();
        driver.Quit();
  

此版本的MicrosoftWebDriver.exe与以下版本不兼容:   Windows 10的已安装版本。

请检查this article以根据您的Edge浏览器版本下载相关的Microsoft WebDriver版本。

然后,您可以参考this article来使用WebDriver。

答案 1 :(得分:0)

我尝试运行项目目录(项目名称,Test)的bin目录中的MicrosoftWebDriver.exe。这给了我所需的答案。

enter image description here

我从以下网站下载了正确的驱动程序:

https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/#downloads

enter image description here

================================================ =========

进一步的更新和解决方案:如何知道要获取哪个驱动程序...

我终于找到了正确的驱动程序。有两种获取驱动程序的方法。

  1. 通过从Microsoft开发人员网站下载
  2. 在可视工作室NuGet管理器中找到它,然后让经理将其配置到您的项目中(首选方法)

方法1 :如何知道要下载哪个驱动程序

  1. 转到Microsoft developer website
  2. 找到发行版,其发行版号等于Edge浏览器上的版本号 enter image description here
  3. 配置您的项目以找到并使用您下载的MicrosoftWebDriver.exe

方法2 :如何知道要下载哪个驱动程序

  1. 在VS中打开测试项目,然后打开NuGet程序包管理器
  2. 浏览Selenium.WebDriver.MicrosoftWebDriver
    • 找到Web驱动程序的版本,其中版本号的后半部分与边缘浏览器的Microsoft EdgeHTML版本号的后半部分匹配(一点都不明显)。 enter image description here
  3. 单击安装按钮。一切都会在您的项目中自动配置,因此您可以自动开始使用驱动程序

  4. 在测试项目中添加几行Selenium代码,这将打开边缘浏览器(如原始问题所示)。

答案 2 :(得分:0)

在选择多个运行设置文件时,我们也会收到此错误。

要解决这个问题,我们必须从VS上的Test选项卡中取消选择所有选定的运行设置文件,然后选择任何一个运行设置文件,然后运行您的测试用例