1. 程式人生 > >Selenium 如何使用webdriver下載檔案(chrome瀏覽器)

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)

by the way,國內這方便的資料太少了。。。