2017-06-06 13 views
0

をロードできませんでした:C#の - 私は次のコードを持っているタイプFirefoxDriverService

FirefoxDriverService service = FirefoxDriverService.CreateDefaultService(currentDir.Remove(0, 6), "geckodriver.exe"); 
    //service.HideCommandPromptWindow = true; 
    service.FirefoxBinaryPath = @"C:\Program Files\Mozilla Firefox (x86)\firefox.exe"; 
    driver = new FirefoxDriver(service); 
    driver.Manage().Window.Maximize(); 

をしかし、私は次のエラーを取得する:

Error message: System.TypeLoadException : Could not load type 'OpenQA.Selenium.Firefox.FirefoxDriverService' from assembly 'WebDriver, Version=2.45.0.0, Culture=neutral, PublicKeyToken=null'.

なぜこの出来事はありますか?

+0

は、あなたが使用しているパスが正しいものですか? – Isuka

+0

[OpenQA.Selenium.Chrome.ChromeDriver]タイプをロードできませんでした。(https://stackoverflow.com/questions/17645008/could-not-load-type-openqa-selenium-chrome-chromedriver) – Coding4Fun

+0

はい100%はbin/debugを指しており、そこには "geckodriver"があります。また、firefox.exeはそのパスにあります – joudaon

答えて

1

バージョン2.45はかなり古いWebDriverドライバです.2015年です。とりわけ、そのアセンブリにはタイプFirefoxDriverServiceが含まれていないため、最初にコードをコンパイルするべきではありません。

私のCrystallボールを使用すると、あなたは新しいバージョンのWebdriverに対してコンパイルされますが、コピーステップでは何らかの形で古いバージョンのドライバがあなたのコードを実行するフォルダに作成されます。あなたのコード例では、私の作品のGeckoドライバのcurrent driver (3.4.0)version 0.16.1

、私はLinqPAD

void Main() 
{ 
    var service = FirefoxDriverService.CreateDefaultService(
     ".", 
     "geckodriver.exe"); 
    service.FirefoxBinaryPath = @"C:\Program Files\Mozilla Firefox (x86)\firefox.exe"; 
    var driver = new FirefoxDriver(service); 
    driver.Manage().Window.Maximize(); 
} 
+0

実際に私はSelenium Webdriverバージョン3.4とGeckoDriver 0.16.1を使用していますが、そのエラーが発生しています...その参照を削除または削除する場所はわかりません@rene – joudaon

0

でそれを実行したとき、私はそれを働きました。 Webdriver.dllが "Selenium.WebDriver.3.4.0"の代わりに "PahntomJS.Xplatform.2.45.0.1"を指していたことが問題でした。参照は悪かった。

NuGetからPhantomが削除され、Webdriver 3.4.0が再インストールされました。

Reference Include="WebDriver, Version=2.45.0.0, Culture=neutral, processorArchitecture=MSIL"

..\packages\Selenium.WebDriver.PhantomJS.Xplatform.2.45.0.1\lib\net40\WebDriver.dll

をそして今、それが表示されます:それが表示された "project.csproj" で

Reference Include="WebDriver, Version=3.4.0.0, Culture=neutral, processorArchitecture=MSIL"

..\packages\Selenium.WebDriver.3.4.0\lib\net40\WebDriver.dll

関連する問題