2012-03-30 8 views
9

Ho bisogno di chrome per iniziare al massimo quando si esegue tramite la griglia di selenio.RemoteWebDriver Chrome - start maximized

Questo è come faccio inizializzo subito:

Selenium selenium = new DefaultSelenium("localhost", 4444, "*googlechrome", "http://www.google.com"); 
DesiredCapabilities capabilities = DesiredCapabilities.chrome(); 
WebDriver driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capabilities); 

Chrome viene in su, ma non massimizzata. Nel consueto ChromeDriver ho fatto come questo

ChromeOptions options = new ChromeOptions(); 
options.addArguments("--start-maximized"); 

Ma io non so come passarlo a RemoteWebDriver. Qualcuno può aiutare?

risposta

23
ChromeOptions options = new ChromeOptions(); 
options.addArguments("--start-maximized"); 
DesiredCapabilities capabilities = DesiredCapabilities.chrome(); 
capabilities.setCapability(ChromeOptions.CAPABILITY, options); 
WebDriver driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capabilities); 

Ecco come lo faccio.

+0

Il codice sopra sembra buono, ma quando l'ho provato, ho ottenuto "impossibile analizzare la funzionalità: chromeOptions sul nodo". C'è qualcosa che mi manca? – DoodleKana

+0

Onestamente, non lo so, mi dispiace. Non ho osservato troppo lo sviluppo del Webdriver negli ultimi due anni. Prova a cercare una menzione di questo nel chsngelog o posta una nuova domanda. –

+0

Ho trovato la risposta alla mia domanda qui https://code.google.com/p/selenium/issues/detail?id=7043 con le nuove opzioni di aggiornamento del selenio utilizzate in modo leggermente diverso. – DoodleKana

3

Ok, l'ho trovato, così lascia rispondere alla mia domanda :)

Selenium selenium = new DefaultSelenium("localhost", 4444, "*googlechrome", "http://www.google.com"); 
DesiredCapabilities capabilities = DesiredCapabilities.chrome(); 
capabilities.setCapability("chrome.switches", Arrays.asList("--start-maximized")); 
WebDriver driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capabilities); 

dovrebbe funzionare:}

+1

Dannazione. 20 secondi troppo lenti. –

+2

Accetterò la tua risposta - per darti l'apprezzamento per lo sforzo. Comunque "google prima del post" dovrebbe essere nuovo "pensa prima di parlare" - almeno nel mio caso;) –

0

Le soluzioni di cui sopra non ha funzionato per me, ma questo fatto

ChromeOptions options = new ChromeOptions(); 
options.AddArguments("--start-maximized"); 

DesiredCapabilities capabilities = options.ToCapabilities() as DesiredCapabilities; 
capabilities?.SetCapability(CapabilityType.BrowserName, "chrome"); 

Driver = new RemoteWebDriver(new Uri("http://localhost:4444/wd/hub"), capabilities); 

Spero che questo aiuti qualcuno.