2016-08-01 26 views
1

(Ich bin neu also bring mich bitte nicht um)Selenium ChromeDriver - ist es möglich, mehrere Erweiterungen zu laden?

Ich versuche, ChromeDriver für einen Chrom-basierten Browser mit mehreren entpackten Erweiterungen zu starten, also (vereinfacht für Ihre Bequemlichkeit, aber im Grunde das gleiche wie im Code):

foreach (var path in ExtensionsPaths) 
    { 
    CommonWebDriver._ChromeOptionsForTorch.AddArguments(new string[1] { "--load-extension=" + path }); 
    } 

nach der foreach Ausführung beendet ist, sehe ich die alle Erweiterungen, die ich in den Optionen auf die Last, aufgeführt werden soll.

Beim Erstellen des ChromeDriver wird jedoch nur geladen, es wird nur eine Erweiterung aus dieser Liste geladen - die letzte davon.

Was mache ich falsch? Ist es möglich, mehrere Erweiterungen zu laden?

+2

Ich liebe den Ruf Stackoverflow bekommen hat: P so deutlich zu erkennen. Willkommen, solange Sie lesen, wie Sie eine Frage stellen Ich bin mir ziemlich sicher, dass niemand versuchen wird, Sie zu töten: P –

+1

Vielen Dank! Im Moment verstecke ich mich mit dem Schwert in der Hand unter meinem Schreibtisch. Nur für den Fall, weißt du. :-) – Bell

Antwort

0

Sie könnten versuchen:

ChromeOptions options = new ChromeOptions(); 

foreach (var path in ExtensionsPaths) 
{ 
    options.AddExtensions(new File(path)); 
} 
+0

Ist das nicht für gepackte CRXs? – Bell

0

Sie bieten ein Argument Zeichenfolge durch Komma getrennt enthält mehrere Pfade zu Erweiterungen:

ChromeOptions options = new ChromeOptions(); 
options.AddArgument(@"load-extension=c:\PathToFirstExtensionHere,c:\PathToSecondExtensionHere"); 
Driver = new ChromeDriver(options);