Я вижу, что вы можете установить, где скачать файл через Webdriver, следующим образом:
fp = webdriver.FirefoxProfile()
fp.set_preference("browser.download.folderList",2)
fp.set_preference("browser.download.manager.showWhenStarting",False)
fp.set_preference("browser.download.dir",getcwd())
fp.set_preference("browser.helperApps.neverAsk.saveToDisk","text/csv")
browser = webdriver.Firefox(firefox_profile=fp)
Но мне было интересно, есть ли способ указать имя файла при его загрузке? Предпочтительно, вероятно, не что-то, что связано с профилем, так как я буду загружать ~ 6000 файлов через один экземпляр браузера и не хочу повторно запускать драйвер для каждой загрузки.
Изменить: решение с кодом, предложенным выбранным ответом. Переименуйте файл после загрузки каждого из них.
import os
os.chdir(SAVE_TO_DIRECTORY)
files = filter(os.path.isfile, os.listdir(SAVE_TO_DIRECTORY))
files = [os.path.join(SAVE_TO_DIRECTORY, f) for f in files] # add path to each file
files.sort(key=lambda x: os.path.getmtime(x))
newest_file = files[-1]
os.rename(newest_file, docName+".pdf")