Как развернуть окно браузера в Selenium WebDriver (Selenium 2) с помощью C #? - PullRequest
117 голосов
/ 06 июля 2010

Есть ли способ увеличить окно браузера, используя WebDriver (Selenium 2) с C #?

Ответы [ 27 ]

1 голос
/ 27 февраля 2017

Следующая строка кода максимизирует IE, Chrome и Mozilla

driver.manage().window().maximize();

Приведенная выше строка кода и другие обходные пути, упомянутые в посте, не работают для браузера NodeWebKit, поэтому в качестве обходного пути мне пришлось использовать собственный код C #, как указано ниже:

public static void MaximiseNWKBrowser(IWebDriver d)
        {
            var body = UICommon.GetElement(By.TagName("body"), d);
            body.Click();
            string alt = "%";
            string space = " ";
            string down = "{DOWN}";
            string enter = "{ENTER}";
            SendKeys.SendWait(alt + space);
            for(var i = 1; i <= 6; i++)
            {
                SendKeys.SendWait(down);
            }
            SendKeys.SendWait(enter);            
        }

Так что этот обходной путь в основном использует «ALT + SPACE», чтобы вызвать меню действий браузера, чтобы выбрать «MAXIMIZE» из опций, и нажать «ENTER»

1 голос
/ 24 февраля 2017

Этот вариант мне подходит:

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

Эта опция работает на всех ОС.

0 голосов
/ 15 февраля 2018

Для меня ни одно из вышеперечисленных решений не работало при работе с Selenium Web Driver C # + Chrome:

  • window.resizeTo (1024, 768); - я хочу использовать весь экран
  • --start-maximized - игнорируется
  • driver.manage (). Window (). Maximize (); - не работает, поскольку требует некоторого расширения, и мне не разрешено использовать расширения Chrome

Мне удалось заставить его работать, используя InputSimulator :

var inputSim = new InputSimulator();
// WinKey + UP = Maximize focused window
inputSim.Keyboard.ModifiedKeyStroke(VirtualKeyCode.LWIN, VirtualKeyCode.UP);
0 голосов
/ 17 мая 2012

С помощью приведенного ниже кода я могу увеличить окно,

((JavascriptExecutor) driver).executeScript("if(window.screen){
    window.moveTo(0, 0);
    window.resizeTo(window.screen.availWidth, window.screen.availHeight);
    };");
0 голосов
/ 11 декабря 2012

Это нормально работает для меня.

Capybara.current_session.driver.browser.manage.window.resize_to(1800, 1000)
0 голосов
/ 26 июля 2017

Драйвер Chrome уже поддерживает:

Java:

webDriver = new ChromeDriver();
webDriver.manage().window().maximize();
0 голосов
/ 24 октября 2013

Я попробовал многие из ответов выше, но ни один не работает хорошо.Моя версия драйвера chrome - 2.7, а Iam с использованием selenium-java vesion - 2.9.0.Официальный документ предлагает использовать:

var capabilities = new DesiredCapabilities();
var switches = new List<string>
                       {
                           "--start-maximized"
                       };
capabilities.SetCapability("chrome.switches", switches);    
new ChromeDriver(chromedriver_path, capabilities);

Выше также не работает.Я проверил драйвер chrome JsonWireProtocol: http://code.google.com/p/selenium/wiki/JsonWireProtocol

Протокол Chrome Diver предоставляет метод для максимизации окна:

/session/:sessionId/window/:windowHandle/maximize,

, но эта команда не используется в Селен-Java.Это означает, что вы также отправляете команду chrome самостоятельно.Как только я это сделал, это работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...