Старые методы загрузки файла через Selenium больше не работают.
Мой код:
fp = webdriver.FirefoxProfile()
fp.set_preference("browser.download.dir", os.getcwd())
fp.set_preference("browser.download.folderList", 2)
fp.set_preference("browser.download.manager.showWhenStarting", False)
fp.set_preference("browser.helperApps.neverAsk.saveToDisk",
"application/pdf")
self.driver = webdriver.Firefox(firefox_profile=fp)
self.longMessage = True
Однако диалоговое окно с файлом по-прежнему появляется. Я сделал довольно много включения и выключения полей, но после небольшого копания я обнаружил, что нет никаких различий между файлом prefs.js
профиля Firefox по умолчанию, сгенерированным Selenium, и файлом prefs.js
того, где я проверил вручную «Делайте это автоматически для файлов этого типа с этого момента» в диалоговом окне загрузки.
Однако файл mimeTypes.rdf
меняется, в частности, добавляются следующие строки:
<RDF:Description RDF:about="urn:mimetype:handler:application/pdf"
NC:alwaysAsk="false"
NC:saveToDisk="true"
NC:handleInternal="false">
<NC:externalApplication RDF:resource="urn:mimetype:externalApplication:application/pdf"/>
Однако я не знаю, как настроить собственный файл mimeTypes.rdf при создании нового профиля Firefox. У кого-нибудь есть идеи?
Чтобы предупредить любого, кто предложит мне просто указать URL-адрес загрузки, файл создается для пользователя, и мне нужно специально проверить, загружается ли файл .pdf на диск.