I am trying to figure out why my code doesn't get a download file in headless mode whereas running in regular/headed mode, I do get a download file. It used to work just fine up until this week.
This script opens up a public Google drive, then applies a list view and sort directions before selecting the first download link. Here's what I've typed up and copy/pasted from the inter webs:
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("--headless")
chrome_options.add_argument("--disable-infobars")
chrome_options.add_argument("--window-size=1920,1080")
chrome_options.add_argument("--disable-extensions")
chrome_options.add_argument("--proxy-server='direct://'")
chrome_options.add_argument("--proxy-bypass-list=*")
chrome_options.add_argument("--start-maximized")
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument('--disable-dev-shm-usage')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--ignore-certificate-errors')
prefs = {}
prefs["profile.default_content_settings.popups"]=0
prefs["download.default_directory"]=download_path
chrome_options.add_experimental_option("prefs", prefs)
browser = splinter.Browser('chrome',options=chrome_options)
browser.visit('https://drive.google.com/drive/folders/')
logging.debug("Google Drive website opened")
time.sleep(5)
WebDriverWait(browser.driver,20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, '[aria-label="List view"]'))).send_keys(keys.Keys.ENTER)
logging.debug("List view requested")
time.sleep(5)
WebDriverWait(browser.driver,20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, '[aria-label="Reverse sort direction"]'))).send_keys(keys.Keys.ENTER)
logging.debug("Sort with latest on top requested")
time.sleep(5)
WebDriverWait(browser.driver,20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, '[aria-label="Download"]'))).send_keys(keys.Keys.ENTER)
logging.debug("Download requested")
time.sleep(5)
wait_for_downloads(browser.driver, download_path, headless=True)
logging.debug("Download completed")
browser.quit()
logging.debug("Browser Quit")
Pls try like below.