【问题标题】:OpenQA.Selenium.WebDriverException Message=Cannot start the driver service on http://localhost:port/ using ChromeDriver Chrome through Selenium in C#OpenQA.Selenium.WebDriverException Message=Cannot start the driver service on http://localhost:port/ using ChromeDriver Chrome through Selenium in C#
【发布时间】:2020-05-27 06:46:38
【问题描述】:

我正在使用最新的 Selenium.WebDriver NuGet 包 v3.141.0

最新的 Selenium.WebDriver.ChromeDriver 包 v80.0.3987.1600

我的 chrome 版本是 80.0.3987.87

chromedriver.exe 与我的程序可执行文件位于同一文件夹中

var driver = new ChromeDriver();
driver.Navigate().GoToUrl("https://www.google.com/");
Starting ChromeDriver 80.0.3987.16 (320f6526c1632ad4f205ebce69b99a062ed78647-refs/branch-heads/3987@{#185}) on port #
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
The remote server returned an error: (404) Not Found.
The remote server returned an error: (404) Not Found.
The remote server returned an error: (404) Not Found.
The remote server returned an error: (404) Not Found.
The remote server returned an error: (404) Not Found.
The remote server returned an error: (404) Not Found.
The remote server returned an error: (404) Not Found.
The remote server returned an error: (404) Not Found.
The remote server returned an error: (404) Not Found.
The remote server returned an error: (404) Not Found.
The remote server returned an error: (404) Not Found.
The remote server returned an error: (404) Not Found.
The remote server returned an error: (404) Not Found.
The remote server returned an error: (404) Not Found.

之后是整个堆栈跟踪 -

OpenQA.Selenium.WebDriverException
  HResult=0x80131500
  Message=Cannot start the driver service on http://localhost:port/
  Source=WebDriver
  StackTrace:
   at OpenQA.Selenium.DriverService.Start()
   at OpenQA.Selenium.Remote.DriverServiceCommandExecutor.Execute(Command commandToExecute)
   at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
   at OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities)
   at OpenQA.Selenium.Remote.RemoteWebDriver..ctor(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities)
   at OpenQA.Selenium.Chrome.ChromeDriver..ctor(ChromeDriverService service, ChromeOptions options, TimeSpan commandTimeout)
   at OpenQA.Selenium.Chrome.ChromeDriver..ctor(ChromeOptions options)
   at OpenQA.Selenium.Chrome.ChromeDriver..ctor()
   at snow_net.Program.create_chg_mypruit() in C:\Users\username\source\repos\snow-net\Program.cs:line 119
   at snow_net.Program.Main(String[] args) in C:\Users\username\source\repos\snow-net\Program.cs:line 66

编辑: 我也试过了

IWebDriver driver;
            using (driver = new ChromeDriver())
            {
                driver.Navigate().GoToUrl(@"https://www.google.com/");
            }

失败并出现同样的错误并尝试了 IE 和 Firefox 驱动程序

更新:

所以我在家里(不是在我的公司网络上)尝试了这个,它使用这个确切的代码......我被防火墙阻止了吗?

【问题讨论】:

  • 看看下面的 SO 帖子是否有帮助 stackoverflow.com/questions/56435676/…
  • 我浏览了这篇文章,我的驱动程序与我的浏览器 chrome 版本 80.0.3987.87(官方构建)(64 位)ChromeWebDriver 80.0.3987.1600

标签: c# google-chrome selenium-webdriver webdriver selenium-chromedriver


【解决方案1】:

你必须注意一些事情:

  • 您需要传递整个url,即将www 添加到https://google.com,因此url 将是https://www.google.com/
  • 此外,由于您已将 ChromeDriver 的实例初始化为 driver,因此您必须仅使用 driver 实例调用 Navigate(),而不是使用 @987654326 @。
  • 实际上您的代码块将是:

    var driver = new ChromeDriver();
    driver.Navigate().GoToUrl("https://www.google.com/"); 
    

【讨论】:

  • 不幸的是,这并没有像我想要的那样工作:(同样的问题仍然存在
  • @scocuzza 您能用您当前的代码以及我提到的更改更新问题吗?
  • 抱歉,我有错别字,我已将问题更新为我尝试过的内容
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-12
  • 2022-08-18
  • 1970-01-01
  • 1970-01-01
  • 2021-03-02
相关资源
最近更新 更多