【发布时间】:2019-10-16 07:38:26
【问题描述】:
我在执行测试时遇到了 headless chrome 问题:单击按钮时 PDF 文件会在新选项卡中打开。如果我在非无头模式下运行测试,一切都很好。但是当尝试在 headless 中做同样的事情时 - 文件没有下载。
options = ChromeOptions()
options.add_argument('--no-sandbox')
options.add_argument('--kiosk-printing')
options.add_argument('--test-type')
options.add_argument('--disable-infobars')
options.add_argument('disable-gpu')
options.add_argument('--verbose')
options.add_argument('--disable-extensions')
options.add_argument('--ignore-certificate-errors')
options.add_experimental_option("prefs", {
"profile.default_content_settings.popups": 0,
"download.default_directory": dwnld_path,
"download.prompt_for_download": False,
"download.directory_upgrade": True,
"safebrowsing.enabled": False,
"plugins.always_open_pdf_externally": True,
"plugins.plugins_disabled": ["Chrome PDF Viewer"]
})
我还发现:
wd.command_executor._commands["send_command"] = ("POST", '/session/$sessionId/chromium/send_command')
params = {'cmd': 'Page.setDownloadBehavior', 'params': {'behavior': 'allow', 'downloadPath': dwnld_path}}
command_result = wd.execute("send_command", params)
但只有当我收到以无头模式下载的请求时才会有帮助,而不是在文件在浏览器中打开时。
【问题讨论】:
标签: python selenium google-chrome firefox selenium-webdriver