How to set window size in Selenium Chrome Python

前端 未结 3 577
甜味超标
甜味超标 2020-11-27 07:36

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(\         


        
相关标签:
3条回答
  • 2020-11-27 08:12

    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")
    
    0 讨论(0)
  • 2020-11-27 08:27

    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
      

    tl; dr

    You find a couple of relevant discussion on window size in:

    • python: Selenium Firefox headless returns different results
    • java: Not able to maximize Chrome Window in headless mode
    0 讨论(0)
  • 2020-11-27 08:28

    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!

    0 讨论(0)
提交回复
热议问题