The following code to resize a selenium chrome window does not work:
driver.set_window_size(1920, 1080)
time.sleep(5)
size = driver.get_window_size()
print("Window size: width = {}px, height = {}px.".format(size["width"], size["height"]))
From which the output is:
Window size: width = 1044px, height = 788px
I've also tried using options to set the window size on driver creation (and lots of other things, seem comments below), but can't get it to work either:
options.add_argument("--window-size=1920,1080")
I am using selenium 3.14.0, chrome driver version 72.0.3626.109 and running in background / headless mode: I am literally needing to run my code in background, meaning it launches automatically in the background. I think there is a subtle difference between headless, which when launched is associated with a particular user, and background, which is also headless but may not be associated with a particular user and may have other idiosyncrasies - I'm starting to think this may be part of my issue.
I'd like to get chrome driver to work because firefox does not run in the background (which I need), and ie is a pain.
I want to figure this out because I can't see an element I need to click when the window is so small.
A bit unclear why and exactly where you are stuck. Possibly the extra .
as in height = {}px.
is creating the chaos. Perhaps along with -headless
argument I am able to set/retrieve the Chrome browser Window Size as follows:
Code Block:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument("--headless")
options.add_argument("window-size=1400,600")
driver = webdriver.Chrome(chrome_options=options, executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe', service_args=["--log-path=./Logs/DubiousDan.log"])
driver.get("http://google.com/")
print ("Headless Chrome Initialized")
print(driver.get_window_size())
driver.set_window_size(1920, 1080)
size = driver.get_window_size()
print("Window size: width = {}px, height = {}px".format(size["width"], size["height"]))
driver.quit()
Console Output:
Headless Chrome Initialized
{'width': 1400, 'height': 600}
Window size: width = 1920px, height = 1080px
You find a couple of relevant discussion on window size in: