1 回答
TA贡献1773条经验 获得超3个赞
在所在位置的网页上找不到包含 ASX 代码的数据集。但是,data1 = ['SPL', 'WBC', 'AAA']这里是如何按顺序下载多个 ASX 代码的示例。
数据集:data1 = ['SW1', 'AME', 'BGA','PPT','AMP']
将 的值存储href在列表中,然后迭代该列表并单击“同意”按钮下载 pdf。
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium import webdriver
import time
chromeOptions=webdriver.ChromeOptions()
prefs = {"plugins.always_open_pdf_externally": True}
chromeOptions.add_experimental_option("prefs",prefs)
driver=webdriver.Chrome(executable_path=r"C:\Users\Harrison Pollock\Downloads\Python\chromedriver_win32\chromedriver.exe",chrome_options=chromeOptions)
driver.get("https://www.asx.com.au/asx/statistics/prevBusDayAnns.do")
data1 = ['SW1', 'AME', 'BGA','PPT','AMP']
pdfUrls=[]
for d in data1:
try:
pdfurl=driver.find_element_by_xpath("//table//tr//td[text()='{}']/following-sibling::td[3]/a[contains(.,'{}')]".format(d,"Change in substantial holding")).get_attribute("href")
pdfUrls.append(pdfurl)
except:
print("No ASX code found with Headline Change in substantial holding : " + d)
for pdfurl in pdfUrls:
driver.get(pdfurl)
WebDriverWait(driver, 15).until(EC.element_to_be_clickable((By.XPATH, "//input[@value='Agree and proceed']"))).click()
time.sleep(10) # pause to check download
print("Downloaded pdf file")
- 1 回答
- 0 关注
- 137 浏览
添加回答
举报