Вам нужно сделать пару вещей.
Вам нужно установить chrome option
для автоматической загрузки pdf.
Индуцировать WebdriverWait
и ждать element_to_be_clickable
()
Индуцируйте WebdriverWait
и ждите windows, затем переключитесь в окно, затем нажмите на кнопку Agreed and proceed
, после нажатия на этот 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
chromeOptions=webdriver.ChromeOptions()
prefs = {"plugins.always_open_pdf_externally": True}
chromeOptions.add_experimental_option("prefs",prefs)
driver=webdriver.Chrome(executable_path="path/to/chromedriver",chrome_options=chromeOptions)
driver.get("https://www.asx.com.au/asx/statistics/prevBusDayAnns.do")
WebDriverWait(driver,20).until(EC.element_to_be_clickable((By.XPATH,"//table//tr//td[text()='SPL']/following-sibling::td[3]/a"))).click()
WebDriverWait(driver,15).until(EC.number_of_windows_to_be(2))
driver.switch_to.window(driver.window_handles[-1])
WebDriverWait(driver,15).until(EC.element_to_be_clickable((By.XPATH,"//input[@value='Agree and proceed']"))).click()
Снимок браузера:
![enter image description here](https://i.stack.imgur.com/Jtf79.png)