selenium webdriver chrome 獲取 文件 下載 鏈接 (js生成的鏈接,點擊事件發送請求並彈窗的那種)

import json
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

chrome_options = Options()

# 開啓performance日誌記錄
caps = DesiredCapabilities.CHROME
caps['goog:loggingPrefs'] = {'performance': 'ALL'}
chrome_options.add_experimental_option('perfLoggingPrefs', {'enableNetwork': True})

DRIVER = webdriver.Chrome(executable_path="C:\python\chromedriver.exe", chrome_options=chrome_options,
                          desired_capabilities=caps)

# 放大,防止有的元素渲染完被覆蓋點擊不到
DRIVER.set_window_size(1920, 1080)

# 訪問目標網站
DRIVER.get("https://xxxx.xxxx.com")

# 尋找元素id爲xxxxx的元素並點擊
DRIVER.find_element_by_id("xxxxx").click()

# js事件執行發送請求後瀏覽器彈窗下載,拿到日誌記錄
browser_log = DRIVER.get_log('performance')
browser_log.reverse()

for i in browser_log:
    if i.get('message'):
        message_dict = json.loads(i.get('message'))
        file_download_url = message_dict.get('message').get('params').get('url') if message_dict else None
        
print(file_download_url)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章