我有这个简单的测试脚本,以前可以运行,但从 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,我当然想在最新版本中进行测试。虽然对于这种情况来说这可能并不重要,但对于其他情况来说可能很重要。
有没有不同的、更好的方法?