How to set window size in Selenium Chrome Python

青春壹個敷衍的年華 提交于 2019-12-04 18:37:27

Instead of

options.add_argument("--window-size=1920,1080")

Can you please try this.

options.add_argument('window-size=1920x1080');

OR

options.add_argument("--start-maximized")

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
    

So I finally figured out what the problem is: Running Windows task scheduler with option 'run whether user is logged on or not' only opens a small browser (1024x768) that CANNOT be resized, even with all the great suggestions being offered here.

See the same issue resolved here: screen resolution in mode "Run whether user is logged on or not", in windows task scheduler

So the less than ideal workaround is to only run when user is logged on.

Thanks for all your help!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!