Chrome
from selenium import webdriver
from time import sleep
# from selenium.webdriver.support import expected_conditions as ec
# from selenium.webdriver.support.wait import WebDriverWait
# from selenium.webdriver.common.by import By
import os
# 配置下載路徑
options = webdriver.ChromeOptions()
# 0表示禁止彈出下載窗口, 下載目錄使用os.getcwd()設置當前目錄作為保存位置
prefs = {'profile.default_content_settings.popups': 0,
'download.default_directory': os.getcwd()}
options.add_experimental_option('prefs', prefs)
with webdriver.Chrome(options=options) as driver:
driver.get('https://www.onlinedown.net/soft/5.htm')
driver.maximize_window()
driver.implicitly_wait(10)
# 滾動條到底,加載網頁內容
driver.execute_script('window.scrollTo(100, document.body.scrollHeight);')
sleep(5)
# 這里driver 點擊元素操作有點問題 所以使用的JS做點擊下載的操作
ele = driver.find_element_by_link_text('通用網絡下載')
driver.execute_script('arguments[0].click();', ele)
sleep(20)
Firefox
from selenium import webdriver
from time import sleep
import os
fp = webdriver.FirefoxProfile()
# 設置為0,表示下載到默認路徑;設置為2,表示下載到指定路徑
fp.set_preference('browser.download.folderList', 2)
# 設置下載的保存位置,使用os.getcwd()獲取當前路徑
fp.set_preference('browser.download.dir', os.getcwd())
# 設置下載時不提示是否要開始下載
fp.set_preference('browser.download.manager.showWhenStarting', False)
# 指定要下載的文件類型,可以去 HTTP Content-type對照表查詢,這里指定的是.exe文件
fp.set_preference('browser.helperApps.neverAsk.saveToDisk', 'application/octet-stream')
with webdriver.Firefox(firefox_profile=fp) as driver:
driver.get('https://www.onlinedown.net/soft/5.htm')
driver.maximize_window()
driver.implicitly_wait(10)
# 滾動條到底,加載網頁內容
driver.execute_script('window.scrollTo(100, document.body.scrollHeight);')
sleep(5)
# 這里driver 點擊元素操作有點問題 所以使用的JS做點擊下載的操作
ele = driver.find_element_by_link_text('通用網絡下載')
driver.execute_script('arguments[0].click();', ele)
sleep(20)
Firefox在瀏覽器地址欄輸入about:config可以進行參數設置
