![Selenium 默认下载目录设置在 Ubuntu 20.4 中不起作用 - 文件未保存](https://linux22.com/image/932623/Selenium%20%E9%BB%98%E8%AE%A4%E4%B8%8B%E8%BD%BD%E7%9B%AE%E5%BD%95%E8%AE%BE%E7%BD%AE%E5%9C%A8%20Ubuntu%2020.4%20%E4%B8%AD%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8%20-%20%E6%96%87%E4%BB%B6%E6%9C%AA%E4%BF%9D%E5%AD%98.png)
我有这个简单的测试脚本,以前可以运行,但从 Ubuntu 18.04 升级到 Ubuntu 20.4 后就不行了
from selenium import webdriver
import os, time
WorkDir = "/tmp/test/"
FileName = "mitmdump"
WebServer = "http://localhost:8000/"
options = webdriver.ChromeOptions()
preferences = {"download.default_directory": WorkDir ,
"download.prompt_for_download": False,
}
options.add_experimental_option("prefs", preferences)
driver = webdriver.Chrome(options=options)
driver.get(str(WebServer) + str(FileName))
while not os.path.exists(str(WorkDir) + "/" + str(FileName)):
print("waiting for file download to finish")
time.sleep(3)
当我转身下载.提示下载为 True,我可以通过此代码查看以前下载的文件,但是当我使用标准终端或文件管理器查看 /tmp/test 时却看不到这些文件。
这种行为的原因是Chromium 已安装到 snap 中其中包含沙盒文件系统。
问题是如何进行这个测试?
答案1
我能够按照以下步骤从 Debian 安装 Chromium 来解决这个问题无按扣的铬。
问题是 Chrome 版本是 83,而 snap 中的版本是 86,我当然想在最新版本中进行测试。虽然对于这种情况来说这可能并不重要,但对于其他情况来说可能很重要。
有没有不同的、更好的方法?