selenium: téléchargement automatique : webdriver.Firefox.setPreference sans effet
Bonjour,
sur Linux (je ne peux pas tester sur Windows), je n'arrive pas à faire en sorte qu'un téléchargement s'effectue sans confirmation.
malgré la définition, dans le script, des préférences pour Firefox, la fenêtre de téléchargement s'affiche.
voici ce que j'ai retenu de mes recherches :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| #!/usr/bin/python
from time import sleep
from selenium import webdriver
profile = webdriver.FirefoxProfile()
profile.set_preference("browser.download.folderList", 2)
profile.set_preference("browser.download.dir", '/tmp/')
profile.set_preference("browser.download.useDownloadDir",True)
profile.set_preference("browser.download.manager.useWindow",False)
profile.set_preference("browser.download.manager.showWhenStarting", False)
profile.set_preference("browser.helperApps.neverAsk.saveToDisk", "application/pdf")
profile.update_preferences()
def _Wait(moment):
print("\twaiting for %s is available..." % moment)
sleep(3)
print("Starting...")
site,discipline = ("https://www.uci.org", "cyclo-cross")
url = "%s/%s/%s" % (site,discipline,"calendar")
print("accès à %s..." % url)
browser = webdriver.Firefox(firefox_profile=profile)
browser.get(url)
_Wait("browser")
view = browser.find_element_by_link_text('List view')
_Wait("view")
view.click()
menu = browser.find_element_by_css_selector(".export-btn")
_Wait("menu")
menu.click()
dl = browser.find_element_by_id("calendar-export-pdf")
_Wait("download")
dl.click()
#browser.close() |
qu'est-ce qui coince ?