我尝试使用Selenium访问以下页面 https://view.officeapps.live.com/op/view.aspx?src=https%3A//scholar.harvard.edu/files/torman_personal/files/samplepptx.pptx
虽然页面在Firefox/Chrome中正确显示,但Selenium找不到加载页面的元素。由于未找到元素PptUpperToolbar.LeftButtonDock.PrintToPdf-Medium20
,下面的代码导致“TimeoutException”消息
我错过了什么
# Load ppackages
import urllib.parse
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
# Define page
file = urllib.parse.quote("https://scholar.harvard.edu/files/torman_personal/files/samplepptx.pptx")
link = "http://view.officeapps.live.com/op/view.aspx?src=" + file
# Setup Webdriver
driver = webdriver.Firefox()
driver.get(link)
# Define wait for "Print to PDF" button to show up
wait = WebDriverWait(driver, 20)
element = wait.until(EC.element_to_be_clickable((By.ID, "PptUpperToolbar.LeftButtonDock.PrintToPdf-Medium20")))
# Check page
# element.get_attribute('outerHTML')
# element.get_attribute('innerHTML')
# Click element
element.click()
按钮在iframe中。你需要切换到iframe
相关问题 更多 >
编程相关推荐