是的,这是安全的“功能”。如前所述,这里是Bug讨论:https
:
//bugs.chromium.org/p/chromium/issues/detail?id=696481
在Chrome版本62.0.3196.0或更高版本中添加了支持,以支持下载。
这是一个python实现。我必须将命令添加到chromedriver命令中。我将尝试提交PR,以便将来将其包含在库中。
def enable_download_in_headless_chrome(self, driver, download_dir): # add missing support for chrome "send_command" to selenium webdriver driver.command_executor._commands["send_command"] = ("POST", '/session/$sessionId/chromium/send_command') params = {'cmd': 'Page.setDownloadBehavior', 'params': {'behavior': 'allow', 'downloadPath': download_dir}} command_result = driver.execute("send_command", params)作为参考,这里有一个小仓库来演示如何使用它:https
:
//github.com/shawnbutton/PythonHeadlessChrome
更新2020-05-01 有评论说这不再起作用。鉴于此修补程序已经使用了一年多,因此很有可能他们已更改了底层库。



