2017-10-05 2 views
0

web api Kern 2.0 Projekt sieht nicht geckodriver.exe Wie kann ich es beheben ?!Asp.net Kern: Selen sieht geckodriver nicht im aktuellen Verzeichnis

Ich habe ein ASP.net Core 2.0 Web API-Projekt erstellt. Ich habe geckodriver.exe in ein Verzeichnis mit Projekt eingefügt, ich habe "Copy to output directory" in "Copy always" geändert.

Dies ist mein Controller:

using System; 
using System.Collections.Generic; 
using Microsoft.AspNetCore.Mvc; 
using OpenQA.Selenium; 
using OpenQA.Selenium.Firefox; 

namespace WebApplication1.Controllers 
{ 
    [Route("api/[controller]")] 
    public class ValuesController : Controller 
    { 
     // GET api/values 
     [HttpGet] 
     public IEnumerable<string> Get() 
     { 
      if (!System.IO.File.Exists("geckodriver.exe")) 
      { 
       throw new Exception("error"); 
      } 

      using (IWebDriver driver = new FirefoxDriver()) 
      { 
       driver.Navigate().GoToUrl("http://gooogle.com"); 
      } 
      return new string[] { "value1", "value2" }; 
     } 
    } 
} 

Als ich mein Projekt starten, erhalte ich Ausnahmemeldung

OpenQA.Selenium.DriverServiceNotFoundException: ‚Die geckodriver.exe Datei im aktuellen existiert nicht Verzeichnis oder in einem Verzeichnis in der PATH-Umgebungsvariablen. Der Treiber kann unterheruntergeladen werden.

Ich frage mich, warum .net Framework mvc-Anwendung mit dem gleichen Code funktioniert gut!

Meine Frage ist: Wie behebe ich mein Problem? Ich kann nicht eine Lösung auf Google

Antwort

0

kopieren driver.exe zu folgendem Pfad:

C:\Users\[userName]\.nuget\packages\selenium.webdriver\3.6.0\lib\netstandard2.0\ 
+0

Danke. Es klappt. Leider ist diese Lösung nicht plattformübergreifend – Oleg

Verwandte Themen