Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用远程Firefox webdriver下载文件?_Python_Selenium_Firefox_Remotewebdriver - Fatal编程技术网

Python 如何使用远程Firefox webdriver下载文件?

Python 如何使用远程Firefox webdriver下载文件?,python,selenium,firefox,remotewebdriver,Python,Selenium,Firefox,Remotewebdriver,我已尝试将几种现有解决方案(,)改编为运行在以下环境中的远程Firefox webdriver: 导航并单击相关的下载按钮可以正常工作,但该文件从未出现在下载目录中。我已经验证了我能想到的一切: Selenium容器中的用户可以在/src/app/output中创建文件,这些文件在主机操作系统中可见 我可以使用桌面浏览器成功下载文件 响应内容类型为application/pdf 我遗漏了什么?结果表明,在研究此问题时所做的其他更改导致服务器返回的是文本/普通文档,而不是PDF文件。作为参考,

我已尝试将几种现有解决方案(,)改编为运行在以下环境中的远程Firefox webdriver:

导航并单击相关的下载按钮可以正常工作,但该文件从未出现在下载目录中。我已经验证了我能想到的一切:

  • Selenium容器中的用户可以在/src/app/output中创建文件,这些文件在主机操作系统中可见
  • 我可以使用桌面浏览器成功下载文件
  • 响应内容类型为
    application/pdf

我遗漏了什么?

结果表明,在研究此问题时所做的其他更改导致服务器返回的是文本/普通文档,而不是PDF文件。作为参考,这是我可以使用的最简单的选项集:

options.set_preference('browser.download.dir', DOWNLOAD_DIRECTORY)
options.set_preference('browser.download.folderList', 2)
options.set_preference('browser.helperApps.neverAsk.saveToDisk', 'application/pdf')
options.set_preference('pdfjs.disabled', True)

您丢失了该文件,该文件已下载到运行浏览器的远程计算机或容器。请省去大量麻烦,使用HTTP客户端下载files@CoreyGoldberg关键是测试前端,所以这不是一个选项。我记得,我必须添加
'pdfjs.enabledCache.state',false
选项要能够在firefox中下载pdf,您可以在下载后拍摄屏幕截图,以确保firefox不会打开pdf而不是下载。您是否也在等待文件下载,或者在下载文件之前关闭浏览器。
options.set_preference('browser.download.dir', DOWNLOAD_DIRECTORY)
options.set_preference('browser.download.folderList', 2)
options.set_preference('browser.helperApps.neverAsk.saveToDisk', 'application/pdf')
options.set_preference('pdfjs.disabled', True)