Python 如何使用selenium WebDriver下载PDF
我想使用SeleniumWebDriver下载Python中的PDF。但是,由于某些原因,我无法选择/单击下载按钮。可能是因为按钮不可聚焦 这是按钮:Python 如何使用selenium WebDriver下载PDF,python,selenium,selenium-webdriver,Python,Selenium,Selenium Webdriver,我想使用SeleniumWebDriver下载Python中的PDF。但是,由于某些原因,我无法选择/单击下载按钮。可能是因为按钮不可聚焦 这是按钮: 由于所需元素位于中,因此要在元素上调用单击(),您必须: 将所需的帧的WebDriverWait设置为可用,并将其切换为可用() 将所需元素的WebDriverWait设置为可单击() 您可以使用以下任一选项: 使用CSS\u选择器: WebDriverWait(driver, 10).until(EC.frame_to_be_availa
由于所需元素位于
中,因此要在元素上调用单击()
,您必须:
- 将所需的
帧的WebDriverWait设置为可用,并将其切换为可用()
- 将所需
元素的WebDriverWait设置为可单击()
- 您可以使用以下任一选项:
- 使用
:CSS\u选择器
WebDriverWait(driver, 10).until(EC.frame_to_be_available_and_switch_to_it((By.CSS_SELECTOR, "iframe.rc-reader-frame"))) WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "menu-button.download span"))).click()
- 使用
:XPATH
WebDriverWait(driver, 10).until(EC.frame_to_be_available_and_switch_to_it((By.XPATH, "//iframe[@class='rc-reader-frame']"))) WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//menu-button[@class='download']//span[text()='PDF']"))).click()
- 注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC
- 使用
- 浏览器快照:
参考文献 您可以在以下内容中找到一些相关讨论:
WebDriverWait(driver, 10).until(EC.frame_to_be_available_and_switch_to_it((By.XPATH, "//iframe[@class='rc-reader-frame']")))
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//menu-button[@class='download']//span[text()='PDF']"))).click()
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC