[英]Selenium Python - download button .click() no longer working
我有以下代碼,直到最近才有效 - 目的是從代碼中顯示的站點下載一些歷史數據:
import os
import time
import pandas as pd
from datetime import datetime
from selenium import webdriver
# Set option variables for using ChromeDriver
options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument('--disable_dev-shm-usage')
options.add_experimental_option("prefs", {
"download.default_directory": r"\\filepath\foldernamefordownload",
"download.prompt_for_download": False,
"download.directory_upgrade": True,
"safebrowsing.enabled": True
})
# Set up ChromeDriver and open path
wd = webdriver.Chrome(r'filepath\chromedriver.exe', options=options)
solar_path = 'https://www.solar.sheffield.ac.uk/pvlive/'
wd.get(solar_path)
time.sleep(10)
# Click on data download ribbon
data_dwnload1 = wd.find_element_by_id('dataDownloadPanelTitle')
data_dwnload1.click()
time.sleep(5)
# Download data
data_dwnload2 = wd.find_element_by_id('download-csv-button')
data_dwnload2.click()
time.sleep(30)
wd.close()
del solar_path
問題是這不再有效 - 沒有下載。 我在這里想念什么? 代碼仍在運行(本節之后的代碼僅在嘗試查找不再存在的下載文件時才會中斷)。
任何幫助將非常感激。
使用顯式等待簡化了一點,它正在工作。 請檢查。 time.sleep(30)
似乎是可選的。 您可以等待一段時間然后關閉,但如果您想等待 30 秒,這是您的選擇。
wd = webdriver.Chrome(r'filepath\chromedriver.exe', options=options)
solar_path = 'https://www.solar.sheffield.ac.uk/pvlive/'
wd.get(solar_path)
time.sleep(10)
# Click on data download ribbon
WebDriverWait(wd, 20).until(EC.visibility_of_element_located((By.ID, 'dataDownloadPanelTitle'))).click()
# Download data
WebDriverWait(wd, 20).until(EC.visibility_of_element_located((By.ID, 'download-csv-button'))).click()
time.sleep(30)
wd.close()
下載的文件快照:單擊此處獲取文件快照
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.