2012-03-30 2 views
9

Мне нужно, чтобы хром запускался в режиме максимизации при работе через сетку селена.RemoteWebDriver Chrome - начало разгона

Это как я инициализировать его сейчас:

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 приходит, но не развернуто. В обычном ChromeDriver я сделал это, как этот

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

Но я не знаю, как передать его RemoteWebDriver. Может ли кто-нибудь помочь?

ответ

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); 

Вот как я это делаю.

+0

Вышеприведенный код выглядит неплохо, но когда я его попробовал, я получил возможность «не разбирать возможности: chromeOptions на узле». Есть что-то, чего я не хватает? – DoodleKana

+0

Честно говоря, я не знаю, извините. За последние два года я не наблюдал за развитием Webdriver. Попробуйте найти упоминание об этом в chsngelog или задайте новый вопрос. –

+0

Я узнал ответ на свой вопрос здесь. Https://code.google.com/p/selenium/issues/detail?id=7043 с новыми вариантами обновления selenium используется немного иначе. – DoodleKana

3

Хорошо, я нашел его, так что позволяет ответить на мой собственный вопрос :)

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); 

должен работать:}

+1

Damnit. 20 секунд слишком медленный. –

+2

Я согласен с вашим ответом - чтобы вы оценили усилия. В любом случае «google before post» должен быть новым «подумать, прежде чем говорить» - по крайней мере, в моем случае;) –

0

Вышеуказанные решения не работают для меня, но это сделали

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); 

Надеется, что это поможет кому-то.

Смежные вопросы