使用python-firefox-selenium填写表格并将重定向页面下载为pdf

时间:2019-05-06 10:30:40

标签: python selenium pdf firefox

我想从网页上自动下载一些详细信息,该网页需要填写表格。单击回车后,页面将重定向到另一个包含pdf文件的URL。我想下载pdf文件。我试过另存为html,但是根本没有任何信息。还尝试捕获屏幕截图,但是对于单个文件,它需要多个屏幕截图。我希望页面以pdf格式下载。

  1. 尝试另存为html-html文件不包含任何信息
  2. 尝试过的屏幕截图-一页上有多个屏幕截图-并发症
  3. 尝试使用pdfkit-重新提供网址,因此丢失输入的凭据,从而导致错误页面。

我知道要模仿浏览器的“保存”选项并不容易。不幸的是,那是我想要的。

1 个答案:

答案 0 :(得分:0)

很好的问题。我以前曾遇到过此问题,并找到了一些片段,并将它们加入了以下代码。不会在浏览器中显示PDF,而是将其下载。

# firefox profile to download PDF
mime_types_pdf = "application/pdf,application/vnd.adobe.xfdf,application/vnd.fdf,application/vnd.adobe.xdp+xml"
mime_types = mime_types_pdf
fp = webdriver.FirefoxProfile()
fp.set_preference("browser.download.folderList", 2)
fp.set_preference("browser.download.manager.showWhenStarting", False)
fp.set_preference("browser.download.dir", os.getcwd())
fp.set_preference("browser.helperApps.neverAsk.saveToDisk", mime_types)
fp.set_preference("browser.helperApps.neverAsk.openFile", mime_types)
fp.set_preference("plugin.disable_full_page_plugin_for_types", mime_types)
fp.set_preference("pdfjs.disabled", True)
geckodriver = '[path_to_your_firefox_driver]/geckodriver'
driver = webdriver.Firefox(executable_path=geckodriver, firefox_profile=fp)