How to get the current window size with Selenium Webdriver?

54.2k views Asked by At

I am running on Screen Resolution of (1366 X 768 ), but when I call getSize().getWidth() and getSize().getHeight() methods , the result I'm getting is:

Size of Width is : 1382 Size of Height is : 744

for IE, FF and Chrome web pages. URL used: https://www.google.com

6

There are 6 answers

0
Andriy Ivaneyko On

For python selenium webdriver use function get_window_size:

driver.get_window_size()
"""
Output:
{
  "width": 1255,
  "height": 847,
  "hCode": 939524096,
  "class": "org.openqa.selenium.Dimension"
}
"""
0
Henul On

try this:

from selenium import webdriver
driver = webdriver.Chrome('C/Program Files/Chromedriver') #Chromedriver location
print(driver.get_window_size())
0
Guy On

The screen resolution and browser window size are not necessarily equal.

Resolution (from wikipedia) is

The display resolution or display modes of a digital television, computer monitor or display device is the number of distinct pixels in each dimension that can be displayed ... "1024 × 768" means the width is 1024 pixels and the height is 768 pixels

While getSize() is returning the actual browser size.

0
murali selenium On

As we know Selenium interacts with browsers and these get methods will retrieve info related to browsers only. As explained in other answers very clearly, screen resolution and browser are different. The simple example below shows very clearly that the web driver is getting only the browser's dimensions.

    WebDriver driver=new FirefoxDriver();
    driver.get("http://www.google.com");
    System.out.println(driver.manage().window().getSize()); //output: (994, 718)

    driver.manage().window().maximize();
    System.out.println(driver.manage().window().getSize()); //output: (1382, 744)
1
Eyal Sooliman On
    Dimension initial_size = driver.manage().window().getSize();
    int height = initial_size.getHeight();
    int width = initial_size.getWidth();
0
Super Kai - Kazuya Ito On

In Python, you can use get_window_size() to get the current window size as shown below:

from selenium import webdriver

driver = webdriver.Chrome()
print(driver.get_window_size()) # {'width': 945, 'height': 1012}
print(driver.get_window_size().get('width')) # 945
print(driver.get_window_size().get('height')) # 1012
print(driver.get_window_size()['width']) # 945
print(driver.get_window_size()['height']) # 1012