2017-11-14 3 views
0

Ich habe versucht, den modifizierten FireFox-Browser mit Selenium WebDriver zu öffnen. (Dieser Firefox-basierte Browser genauso wie original Firefox, nur mit zusätzlicher Funktionalität.)Firefox-basierter Browser kann nicht geöffnet werden

Dieser Browser öffnet und dann bekam ich Fehler:

["OpenQA.Selenium.WebDriverException" in WebDriver.dll] TypeError: Given browserName [object String] "firefox", but my name is [object String] "anotherbrowser"

Mein Code [C#]:

var path = new FirefoxBinary(@"C:\FireFox_BasedBrowser\anotherbrowser.exe"); 
IWebDriver driver = new FirefoxDriver(path, null); //here's error 

Nach der Suche fand ich diesen Rat auf Java:

String bname = "Browser name"; 
FirefoxOptions options = new FirefoxOptions(); 
options.setBinary("Path to browser binary"); 
options.setCapability("browserName", bname); 
options.setCapability("marionette", false); 
driver = new FirefoxDriver(options); 

Ich versuchte es in C# neu zu schreiben:

DesiredCapabilities cap = DesiredCapabilities.Firefox(); 
cap.SetCapability("browserName", "anotherbrowser"); 
cap.SetCapability("firefox_binary", @"C:\FireFox_BasedBrowser\anotherbrowser.exe"); 
IWebDriver driver = new FirefoxDriver(cap); //here's error 

Aber ich habe auch einen Fehler:

["System.ArgumentException" in WebDriver.dll] There is already an option for the browserName capability. Please use the instead.

Bitte helfen Sie mir, ich kann keine Lösungen finden.


P.s. Ich kann den ursprünglichen Firefox-Browser nicht verwenden, da er nicht dieselben Vorteile wie dieser modifizierte Firefox hat.

+0

Mögliche Duplikat von [I Java neu schreiben, um C# in Selen kann nicht Lösung] (https://stackoverflow.com/questions/47318176/ i-cant-Schreibe-Javas-Lösung-zu-c-Sharp-in-Selen) –

Antwort

0

Verwenden FirefoxDriverService.CreateDefaultService(...) einen anderen Pfad für Firefox zu definieren:

var service = FirefoxDriverService.CreateDefaultService(@"C:\drivers", "geckodriver.exe"); 
service.FirefoxBinaryPath = @"C:\Program Files (x86)\Mozilla Firefox\firefox.exe"; 
var driver = new FirefoxDriver(service); 
+0

Browser öffnet sich, aber dann bekomme ich Fehler: ** ["OpenQA.Selenium.WebDriverException" in WebDriver.dll] Kann nicht starten Treiber-Service auf http: // localhost: 10522/** – ILya

+0

@ILya, mein Schlechter, das Beispiel war falsch. Beachten Sie, dass die neueste Version von 'geckodriver.exe' Firefox 55 oder höher erfordert. –

+0

Ich hatte versucht, aber ich habe denselben Fehler: ** ["OpenQA.Selenium.WebDriverException" in WebDriver.dll] TypeError: Gegeben browserName [Objekt String] "firefox", aber mein Name ist [Objekt String] "anotherbrowser" **. Ich denke, dass das Problem mit '' anotherbrowser '' Name, es ist nicht "firefox" – ILya

Verwandte Themen