python - 如何使用 django 将来自 chromedriver 的文件正确保存在 docker 容器中?
问题描述
我正在做 Django + Chrome 独立硒,我无法正确配置下载文件夹。我一直在尝试这样做半天,我从来没有能够解决这样的问题。告诉我怎么做对吗?
我需要 chrome 将文件保存到 django 项目的文件夹中,即在 app/media/uploads
我试图这样做:
chrome:
image: selenium/standalone-chrome:latest
container_name: Chrome-selenium
ports:
- "4444:4444"
volumes:
- ./app:/app
- media:/app/media
privileged: true
shm_size: 2g
restart: always
并从命令开始:
options = webdriver.ChromeOptions()
options.headless = True
# User Agent
options.add_argument('user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36 Edg/92.0.902.84')
# Disable driver mode
options.add_argument('--disable-blink-features=AutomationControlled')
# Download settings
download_dir = os.path.join(settings.MEDIA_ROOT, 'uploads') ??
options.add_experimental_option('prefs', {
'download.default_directory': download_dir,
'download.prompt_for_download': False,
'download.directory_upgrade': True,
'safebrowsing_for_trusted_sources_enabled': False,
'safebrowsing.enabled': False
})
driver = webdriver.Remote("http://chrome:4444/wd/hub", options=options)
但是从django启动后,没有文件被保存,更准确地说,我不知道它保存在哪里,但绝对不是我指出的地方
解决方案
推荐阅读
- multithreading - Delphi中的线程启动速度
- python-3.x - 运行scala spark应用程序后如何运行python脚本
- sql-server - CROSS APPLY 与 GROUP BY 一起返回逗号分隔值
- docker - docker-compose 中的 nginx 反向代理上游失败,并显示连接被拒绝消息
- moleculer - 是否可以在分子网络路由路径上有参数?
- javascript - 我应该将 JavaScript 插件的 img 放在哪里?
- python-3.x - 代码生成器帮助——不会在我想要的序列处停止
- tensorflow - TensorFlow Graph 到 Keras 模型?
- google-app-engine - 关于获取数据存储区Cursor行为的问题
- spring - 如何在 Spring Cloud consul config 中将一致性模式更改为 Stale