在selenium + python里面有一个代码是driver.save_screenshot(“screenshot.png”),当这样做的时候,它会在我的系统上保存一个镜像,当在 heroku 上部署的时候,这个镜像在哪里,我怎么才能得到它?
driver.save_screenshot
aurhwmvo1#
默认位置与driver的路径相同。您可以使用this answer中的方法找到它。可以通过提供必须保存映像的完整路径来更改该位置,如save_screenshot文档中提供的示例所示:driver.save_screenshot("/Screenshots/foo.png")个
driver
save_screenshot
driver.save_screenshot("/Screenshots/foo.png")
tp5buhyn2#
我一直在做一些研究,我相信Heroku迫使用户使用云服务来保存文件,例如Amazon S3,但我想出了一个有点创意的方法来解决这个问题。函数driver.get_screenshot_as_base64()提取图像的base64,您可以构建一个单独的后端来发送此base64,并在前面的图像中再次构建它,或者根据您的意愿,甚至可能将其保存在您最喜欢的数据库中。优点:不依赖第三方服务。缺点:您将需要一个单独的服务器来提供此支持。(理论上你不需要它,你可以使用相同的一个,但这两个可以有不同的应用程序,他们是不值得的风险。
driver.get_screenshot_as_base64()
2条答案
按热度按时间aurhwmvo1#
默认位置与
driver
的路径相同。您可以使用this answer中的方法找到它。可以通过提供必须保存映像的完整路径来更改该位置,如
save_screenshot
文档中提供的示例所示:driver.save_screenshot("/Screenshots/foo.png")
个tp5buhyn2#
我一直在做一些研究,我相信Heroku迫使用户使用云服务来保存文件,例如Amazon S3,但我想出了一个有点创意的方法来解决这个问题。
函数
driver.get_screenshot_as_base64()
提取图像的base64,您可以构建一个单独的后端来发送此base64,并在前面的图像中再次构建它,或者根据您的意愿,甚至可能将其保存在您最喜欢的数据库中。优点:不依赖第三方服务。
缺点:您将需要一个单独的服务器来提供此支持。(理论上你不需要它,你可以使用相同的一个,但这两个可以有不同的应用程序,他们是不值得的风险。