Chcę automatycznie pobierać pliki i zapisywać je w katalogu, wszystko jest zrobione, ale firefox nadal zapisuje pliki w folderze pobierania użytkownika, np. C:\users\root\Downloads
selenium nie ustawia downloaddir w FirefoxProfile
funkcja w klasie PyWebBot
@staticmethod
def FirefoxProfile(path, handlers):
from selenium import webdriver
profile = webdriver.FirefoxProfile()
profile.set_preference("browser.download.folderList",1)
profile.set_preference("browser.download.manager.showWhenStarting",False)
profile.set_preference("browser.download.dir", path)
profile.set_preference("browser.download.downloadDir", path)
profile.set_preference("browser.download.defaultFolder", path)
profile.set_preference("browser.helperApps.alwaysAsk.force", False)
profile.set_preference("browser.helperApps.neverAsk.saveToDisk", handlers)
profile.set_preference("pdfjs.disabled", True)
profile.update_preferences()
return profile
następnie
def setUp(self):
self.profile = PyWebBot.FirefoxProfile(config['downloads'], config['handlers'])
self.driver = webdriver.Firefox(self.profile)
...
...
config:
config['downloads'] = 'Q:/web2py_src/web2py/applications/internet2letter/private/testing/selenium/downloads'
config['handlers'] = 'application/pdf'
Spróbuj użyć' \\ 'zamiast'/'. Miałem ten problem jakiś czas temu. – enginefree
nie działa :(spróbuję użyć os.path.join –
Czy na pewno istnieje? Najlepiej będzie upewnić się w swoim skrypcie, coś w stylu 'if os.path.exists' lub' os.isfile ' – enginefree