SeleniumはファイルFirefox,Chromeのダウンロードを実現

2017 ワード

ファイルのダウンロード
WebDriverでは、デフォルトのファイルダウンロードパスを設定できます.つまり、ファイルは設定したディレクトリに自動的にダウンロードされ、ブラウザの設定方法によって異なります.

まずFirefoxを例に、ダウンロードのデモを行います


 
 
import time
from selenium imoprt webdriver
profile = webdriver.FirefoxProfile()
profile.set_preference('browser.download.dir', 'E:\\123\\qaz\\')
profile.set_preference('browser.download.folderList', 2)
profile.set_preference('browser.download.manager.showWhenStarting', False)
profile.set_preference('browser.helperApps.neverAsk.saveToDisk', 'application/zip')


driver = webdriver.Firefox(firefox_profile=profile)


driver.get('http://haozip.2345.cc/')
driver.find_element_by_class_name('btn_dl').click()
sleep(3)
driver.quit()

 
ダウンロードパスを指定します.
 
browser.download.dir 
 
2は私たちがカスタマイズしたパスを使用することを表し、1はデフォルトでデスクトップにダウンロードすることを表し、2はデフォルトのパスにダウンロードすることを表す.
browser.download.folderList
 
ダウンロードした後にダウンロードマネージャを表示する
browser.download.manager.showWhenStarting
 
指定されたファイルタイプがポップアップされなくなったことを尋ねる
browser.helperApps.neverAsk.saveToDisk
 

Chromeブラウザの再利用


 
from selenium import webdriver
from time import sleep




chrome_options = webdriver.ChromeOptions()
prefs = {'profile.default_content_settings.popups': 0, 'download.default_directory': 'd:\\'}
#chrome_options.add_experimental_option('prefs', prefs) # 
driver = webdriver.Chrome(options=chrome_options)
driver.get('http://haozip.2345.cc/')
driver.find_element_by_class_name('btn_dl').click()
sleep(3)

 
Chromeダウンロードのデフォルトではプロンプトボックスはポップアップされません.ここではダウンロード場所を変更すればいいです.
次のように設定
 0
ポップアップの禁止
 
profile.default_content_settings.popups
 
ダウンロードパスの設定
download.default_directory
 
 
実行時にuse options instead of chrome_を求める場合があります.optionsの代表的な方法はもう時代遅れです.この時、chrome_optionsをoptions=chromeに置き換えるoptionsでいいです