如何解决Docker Selenium/standalone-chrome 在 NAS 上无头下载
我正在家用 Synology DS220+ NAS 的 docker 容器中运行 selenium/standalone-chrome。我可以在 docker 容器中使用 selenium/standalone-chrome 进行网页抓取。但我无法下载任何文件。这就是我所做的。我使用 python 脚本触发它:
client = docker.from_env()
if client.containers.list(filters={'ancestor':'selenium/standalone-chrome'})==[]:
container = client.containers.run('selenium/standalone-chrome',detach=True,auto_remove=True,ports={'4444/tcp':('127.0.0.1',4444)},volumes = {'/dev/shm':{'bind':'/dev/shm','mode':'rw'}})
我需要将网站上的文件下载到文件夹中:
CONTRACT_NOTE_LOCATION = '/volume1/homes/admin/Drive/Personal/investments/equity/contract note/'
在我的 webscraper.py 文件中,我有以下内容:
chrome_options = Options()
self.download_dir_ = config.CONTRACT_NOTE_LOCATION
chrome_options.add_experimental_option('prefs',{
"download.default_directory": self.download_dir_,"download.prompt_for_download": False,"download.directory_upgrade": True,"plugins.always_open_pdf_externally": True
}
)
self.driver_ = webdriver.Remote("http://127.0.0.1:4444/wd/hub",options=chrome_options)
self.driver_.get(url)
我无法从 Synology NAS 下载无头运行。我知道 webscraper.py 可以工作,因为当我使用以下命令重新配置以在我的笔记本电脑上运行时:
self.driver_ = webdriver.Chrome('C:/Users/id/Desktop/chromedriver.exe',options=chrome_options)
到本地文件夹它工作正常。问题出在某个地方试图让 NAS 文件夹访问在 docker 中运行的“selenium/standalone-chrome”。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。