Selenium, C#, driver.Manage().Window.Maximize() не работает из под IIS

csharp
windows
iis
webdriver
chrome
Теги: #<Tag:0x00007fedb93f3500> #<Tag:0x00007fedb93f32d0> #<Tag:0x00007fedb93f3168> #<Tag:0x00007fedb93f3000> #<Tag:0x00007fedb93f2e98>

(Oleg Tarusov) #1

Проблема заключается в том, что браузер не хочет раскрываться на весь экран, если селениум запускается из под веб-сервера IIS.

У меня есть некое asp.net mvc приложение, если обратиться к нему по некому юрл, то оно запускает браузер, используя селениум. Ходит по некому сайту и делает скриншоты.

Так вот, если запускать приложение из под Visual Studio. То всё ок. Но если приложение задеплоить на вебсервер iis, то всё работает, кроме одного НО - браузер не раскрывается на весь экран. Соответственно получаются не те, скриншоты.

Я попытался сделать

var chromeOptions = new CromeOptions();
chromeOptions.AddArgument("--start-maximized");
using(IWebDriver driver = new ChromeDriver(chromeOptions)) {
     driver.Manage().Window.Maximize();
    //driver.Manage().Window.Size = new System.Drawing.Size(1920, 1040);// тоже не работает

Пытался ресайзить окно через js, но в хроме нельзя ресайзить через js.

Драйвера firefox и internet explorer вообще не работают. Они сваливаются с ошибкой unable to connect

Версии ОС и софта следующие: chromedriver 2.33
Chrome 61.0.3163.100
Selenium.Webdriver 3.6.0

И ещё. Когда запуск идёт из по iis, то запуска браузера не видно, он только в диспетчере задач виден. Но скриншоты делаются.

Так как раскрыть на весь экран браузер, спасибо.


(Иван Пашко) #2

ИИС - это сервис, у них (сервисов) свой, интерактивный десктоп - без GUI (видимого пользователю) и расширение там не такое как в профиле у юзера. Поэтому и скриншоты другие (меньше), а браузер раскрыт на весь экран.