为什么docker中的python-selenium没有下载文件?

我一直在尝试使用docker,python-selenium和chrome来创buildGUItesting。 但是,在testing用例的结尾处下载文件时出现问题(这是必需的 – 我必须validation其内容)。

我正在准备chrome webdriver,如下所示:

prefs = { "profile.default_content_settings.popups": 0, "download.prompt_for_download": "false", "download.default_directory": download_dir, } chrome_options = Options() chrome_options.add_argument("--disable-extensions") chrome_options.add_argument("--headless") chrome_options.add_argument("--disable-gpu") chrome_options.add_argument("--no-sandbox") chrome_options.add_experimental_option("prefs", prefs) PROXY = "some.proxy.required:80" webdriver.DesiredCapabilities.CHROME['proxy'] = { "httpProxy": PROXY, "ftpProxy": PROXY, "sslProxy": PROXY, "noProxy": None, "proxyType": "MANUAL", "class": "org.openqa.selenium.Proxy", "autodetect": False } chrome_logpath = os.path.join(basics.dir_main(), "browser.log") driver = webdriver.Chrome(chrome_options=chrome_options, service_args=["--verbose", "--log-path=%s" % chrome_logpath]) 

整个用例工作正常,我也能够使截图看起来不错。 我不能发表一个工作的例子,因为这些案件是密码保护。

但是,单击下载文本后,会生成以下文件:

 20171114084223_results.zip.crdownload 

下载的实际文件名是results.zip 。 在浏览器日志文件中我没有看到任何奇怪的东西。

有什么我可以尝试吗? 有我可以尝试的其他铬选项吗? 有没有其他的方式来从Chrome获得更多的debugging信息? 什么…?