How to maximize the browser window in Selenium WebDriver (Selenium 2) using C#?

C#SeleniumSelenium Webdriver

C# Problem Overview


Is there any way to maximize the browser window using WebDriver (Selenium 2) with C#?

C# Solutions


Solution 1 - C#

driver.Manage().Window.Maximize();

This works for IE and Firefox. Chrome does not work. There is a bug submitted for this on ChromeDriver project.

Meanwhile, the get around for the chrome is to implement what Joey V. and Coder323 suggested.

ChromeOptions options = new ChromeOptions();
options.addArgument("--start-maximized");
driver = new ChromeDriver(options);

Solution 2 - C#

Java

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

Python

driver.maximize_window()

Ruby

@driver.manage.window.maximize

OR

max_width, max_height = driver.execute_script("return [window.screen.availWidth, window.screen.availHeight];")
@driver.manage.window.resize_to(max_width, max_height)

OR

target_size = Selenium::WebDriver::Dimension.new(1600, 1268)
@driver.manage.window.size = target_size

Solution 3 - C#

For IE and Firefox:

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

For Chrome:

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

Solution 4 - C#

There's an outstanding issue to add this functionality to WebDriver, which can be tracked here: http://code.google.com/p/selenium/issues/detail?id=174

A workaround would be to use the JavascriptExector as follows:

public void resizeTest() {
    driver.Navigate().GoToUrl("http://www.example.com/");
((IJavaScriptExecutor)driver).ExecuteScript("window.resizeTo(1024, 768);");
}

Solution 5 - C#

Test step/scenario:

  1. Open a browser and navigate to TestURL
  2. Maximize the browser

Maximize the browser with C# (.NET):

driver.Manage().Window.Maximize();

Maximize the browser with Java :

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

Another way to do with Java:

Toolkit toolkit = Toolkit.getDefaultToolkit();
Dimension screenResolution = new Dimension((int) 
                    toolkit.getScreenSize().getWidth(), (int) 
                    toolkit.getScreenSize().getHeight());

driver.manage().window().setSize(screenResolution);

Solution 6 - C#

You can use something like this (C#):

driver.Manage().Window.Size = new Size(1024, 768);

Solution 7 - C#

If you are using the Chrome Driver you can set the capabilities

    var capabilities = new DesiredCapabilities();

    var switches = new List<string>
                       {
                           "--start-maximized"
                       };

    capabilities.SetCapability("chrome.switches", switches);

    new ChromeDriver(chromedriver_path, capabilities);

Solution 8 - C#

Simply use Window.Maximize() command

WebDriver driver= new ChromeDriver()
driver.Manage().Window.Maximize();  

Solution 9 - C#

The following Selenium Java code snippet worked for me:

driver.manage().window().setPosition(new Point(0,0));
java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
Dimension dim = new Dimension((int) screenSize.getWidth(), (int) screenSize.getHeight());
driver.manage().window().setSize(dim);

Solution 10 - C#

For Java:

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

It will work in IE, Mozilla, Chrome

Solution 11 - C#

I had the same problem, but the problem can be solved by using following code.

driver.manage().window().fullscreen();

Solution 12 - C#

For C#:

driver.Manage().Window.Maximize();

For Java:

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

Solution 13 - C#

We have observed bug with new driver libraries. You can use slightly old jars which are able to handle new browsers versions.

The main generic option is :-

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

You can also use other option for maximizing the browser window.

Example:-

Add below option and pass it to driver:-

    chromeOptions.addArguments("--start-maximized");

The full code will look like below :-

System.setProperty("webdriver.chrome.driver","D:\\Workspace\\JmeterWebdriverProject\\src\\lib\\chromedriver.exe");
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--start-maximized");
driver = new ChromeDriver(chromeOptions);

OR

Toolkit toolkit = Toolkit.getDefaultToolkit();
int Width = (int) toolkit.getScreenSize().getWidth();
int Height = (int)toolkit.getScreenSize().getHeight();
//For Dimension class, Import following library "org.openqa.selenium.Dimension"  
driver.manage().window().setSize(new Dimension(Width,Height));
driver.get("https://google.com");

Try this on safari :-

JavascriptExecutor jse = (JavascriptExecutor)driver;
String screenWidth = jse.executeScript("return screen.availWidth").toString();
String screenHeight = jse.executeScript("return screen.availHeight").toString();
int intScreenWidth = Integer.parseInt(screenWidth);
int intScreenHeight = Integer.parseInt(screenHeight);
Dimension d = new Dimension(intScreenWidth, intScreenHeight);
driver.manage.window.setSize(d);

Solution 14 - C#

using System.Windows.Forms;
using System.Drawing;

public static void MaximizeBrowser(this IE myBrowser)
{
    myBrowser.SizeWindow(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
}

I used Jim's code, but slightly modified for use with WatiN and C# to maximize the browser.

Solution 15 - C#

You can use Selenium Emulation in WebDriver:

selenium = new WebDriverBackedSelenium(driver,url);
selenium.windowMaximize();

Solution 16 - C#

I used this solution

            OpenQA.Selenium.Chrome.ChromeOptions chromeoptions = new OpenQA.Selenium.Chrome.ChromeOptions();
            chromeoptions.AddArgument("--start-maximized");
            OpenQA.Selenium.Chrome.ChromeDriver chrome = new OpenQA.Selenium.Chrome.ChromeDriver(chromeoptions);

Solution 17 - C#

For Chrome

ChromeOptions options = new ChromeOptions();
IWebDriver driver = new ChromeDriver(options);
driver.Manage().Window.Maximize();

Solution 18 - C#

There is a function that you can use to maximize the window in Python which is window_maximize(). And this is how I'm using it.Hope this helps -

from selenium import selenium
sel = selenium('localhost', 4444, '*firefox', 'http://10.77.21.67/')
sel.start()
sel.open('/')
sel.wait_for_page_to_load(60000)
#sel.window_focus()
sel.window_maximize()
png = sel.capture_screenshot_to_string()
f = open('screenshot.png', 'wb')
f.write(png.decode('base64'))
f.close()
sel.stop()

Solution 19 - C#

C# client drivers:

driver = new FirefoxDriver(firefoxProfile);
driver.Manage().Window.Size = new System.Drawing.Size(System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Width+10, System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Height+10);

===> also add a reference to the .NET assembly "System.Windows.Forms"

... the only problem is that it's not positioned correctly
... please comment if you can correct this

Solution 20 - C#

Here's what worked for me in C#, firefoxDriver is global to the class:

in the usings:

using System.Drawing;
using System.Windows.Forms;

in the code:

this.firefoxDriver = new FirefoxDriver();
this.firefoxDriver.Manage().Window.Position = new Point(0, 0);
this.firefoxDriver.Manage().Window.Size = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);

Solution 21 - C#

For Webdriverjs (node.js), the following maximizes chrome window.

var webdriver = require('selenium-webdriver');
var driver = new webdriver.Builder().
withCapabilities(webdriver.Capabilities.chrome()).build();
driver.manage().window().maximize();
driver.get('hxxp://localhost:8888');

Solution 22 - C#

This option is fine for me :

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

This option works on all OS.

Solution 23 - C#

The below line of code would maximize IE, Chrome and Mozilla

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

The above line of code and other workarounds mentioned in the post did not work for NodeWebKit browser, so as a workaround i had to use native C# code as mentioned below:

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

So this workaround basically uses "ALT+SPACE" to bring up the browser action menu to select "MAXIMIZE" from the options and presses "ENTER"

Solution 24 - C#

Through the below code i'm able to maximize the window,

((JavascriptExecutor) driver).executeScript("if(window.screen){
    window.moveTo(0, 0);
    window.resizeTo(window.screen.availWidth, window.screen.availHeight);
    };");

Solution 25 - C#

This is working fine for me.

Capybara.current_session.driver.browser.manage.window.resize_to(1800, 1000)

Solution 26 - C#

I tried many of the answers above, but none work well. My chrome driver version is 2.7 and Iam using selenium-java vesion is 2.9.0. The official document suggests using:

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

The above also does not work. I checked the chrome driver JsonWireProtocol: http://code.google.com/p/selenium/wiki/JsonWireProtocol

The chrome diver protocol provides a method to maximize the window:

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

but this command is not used in selenium-java. This means you also send the command to chrome yourself. Once I did this it works.

Solution 27 - C#

Chrome driver already support:

Java:

webDriver = new ChromeDriver();
webDriver.manage().window().maximize();

Solution 28 - C#

For me, none of the solutions above worked when working with Selenium Web Driver C# + Chrome:

  • window.resizeTo(1024, 768); - I want to use the whole screen
  • --start-maximized - it is ignored
  • driver.manage().window().maximize(); - does not work because it requires some extension and I am not allowed to use Chrome extensions

I managed to get it working using InputSimulator:

var inputSim = new InputSimulator();
// WinKey + UP = Maximize focused window
inputSim.Keyboard.ModifiedKeyStroke(VirtualKeyCode.LWIN, VirtualKeyCode.UP);

Solution 29 - C#

You can try with this code to maximize chrome window.

ChromeOptions options = new ChromeOptions();
options.addArguments("--window-size=1920,1080");

WebDriver driver = new ChromeDriver(options);

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionRefluxView Question on Stackoverflow
Solution 1 - C#bipinkarmsView Answer on Stackoverflow
Solution 2 - C#Prashanth SamsView Answer on Stackoverflow
Solution 3 - C#LuisView Answer on Stackoverflow
Solution 4 - C#Dave HuntView Answer on Stackoverflow
Solution 5 - C#Ripon Al WasimView Answer on Stackoverflow
Solution 6 - C#DrunkCoderView Answer on Stackoverflow
Solution 7 - C#Joey V.View Answer on Stackoverflow
Solution 8 - C#iamsankalp89View Answer on Stackoverflow
Solution 9 - C#KrishPrabakarView Answer on Stackoverflow
Solution 10 - C#Ramaguru NView Answer on Stackoverflow
Solution 11 - C#skarkiView Answer on Stackoverflow
Solution 12 - C#Kumrun Nahar KeyaView Answer on Stackoverflow
Solution 13 - C#Shubham JainView Answer on Stackoverflow
Solution 14 - C#ParkerSuperstarView Answer on Stackoverflow
Solution 15 - C#Sergii PozharovView Answer on Stackoverflow
Solution 16 - C#Coder323View Answer on Stackoverflow
Solution 17 - C#Vishal ArorAView Answer on Stackoverflow
Solution 18 - C#fixxxerView Answer on Stackoverflow
Solution 19 - C#MacGyverView Answer on Stackoverflow
Solution 20 - C#Jim ThompsonView Answer on Stackoverflow
Solution 21 - C#AnupView Answer on Stackoverflow
Solution 22 - C#Sagar007View Answer on Stackoverflow
Solution 23 - C#spartanView Answer on Stackoverflow
Solution 24 - C#RajagopalView Answer on Stackoverflow
Solution 25 - C#suresh.gView Answer on Stackoverflow
Solution 26 - C#knight zhouView Answer on Stackoverflow
Solution 27 - C#Viktor ChmelView Answer on Stackoverflow
Solution 28 - C#Alexei - check CodidactView Answer on Stackoverflow
Solution 29 - C#Houssin BoullaView Answer on Stackoverflow