我正在编写一个 Python Webscraper,它需要能够单击下载按钮并将 PDF 保存到通过 XML 文件定义的位置。
我的代码有问题的部分如下:
profile = webdriver.FirefoxProfile()
download_Path = items.get(key = 'dir') # Get download path from XML.
if not os.path.exists(download_Path):
os.makedirs(download_Path)
profile.set_preference("browser.helperApps.alwaysAsk.force", False)
profile.set_preference("browser.download.panel.shown", False)
profile.set_preference("browser.download.manager.useWindow", False)
profile.set_preference("webdriver_enable_native_events", False)
profile.set_preference("browser.helperApps.neverAsk.openFile", "application/pdf;")
profile.set_preference("browser.helperApps.neverAsk.saveToDisk", "application/pdf;")
profile.set_preference("browser.download.folderList", 2)
profile.set_preference("browser.download.dir", download_Path)
profile.update_preferences()
driver = webdriver.Firefox(executable_path = DriverPath, options = options, firefox_profile = profile)
几乎一切正常,下载目录以预期的方式更改,因此可以profile.set_preferences
正常工作,但其他首选项不会改变。我现在正在搜索一段时间,如您所见,我尝试了不同的选项,这样浏览器就不会要求打开文件或保存文件的位置,而只是将其移动到给定的目录中。