Selenium 如何使用webdriver下载文件(chrome浏览器)

在网上查了很多关于chrome如何修改默认下载地址和下载不弹窗。发现基本上是这样的:

options = webdriver.ChromeOptions()
prefs = {'profile.default_content_settings.popups': 0, 'download.default_directory': 'd:\\'}
options.add_experimental_option('prefs', prefs)

不知道是不是我的问题,这个办法已经失效了。(chrome版本68.0.3440.106,chromedriver版本2.39)

下面附上现在最新的案例:

from selenium.webdriver.chrome.options import Options
……
#实例化一个Options
chrome_options = Options()

#用于定义下载不弹窗和默认下载地址(默认下载地址还要再后面的commands里启动,默认是不开启的)
prefs = {"download.default_directory": "E:\download","download.prompt_for_download": False,}
chrome_options.add_experimental_option("prefs", prefs)

#无头模式(就是不打开浏览器)
chrome_options.add_argument("--headless")
browser = webdriver.Chrome(chrome_options=chrome_options)

#老外的样例,我先照着写,有没有大神可以解释一下的。下面的downloadpath要改成和上面一样
browser.command_executor._commands["send_command"] = ("POST", '/session/$sessionId/chromium/send_command')
params = {'cmd': 'Page.setDownloadBehavior', 'params': {'behavior': 'allow', 'downloadPath': "E:\download"}}
command_result = browser.execute("send_command", params)

来自: Shawn Button's answer

by the way,国内这方便的资料太少了。。。

你可能感兴趣的:(Selenium 如何使用webdriver下载文件(chrome浏览器))