from selenium import webdriver
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
url = "https://www.electionreturns.pa.gov/General/OfficeResults?OfficeID=13&ElectionID=undefined&ElectionType=undefined&IsActive=1"
options = webdriver.ChromeOptions()
options.add_argument('--ignore-certificate-errors')
options.add_argument("--test-type")
driver = webdriver.Chrome(r"...\chromedriver.exe", options = options)
driver.get(url)
try:
element = WebDriverWait(driver,20).until(
EC.visibility_of_element_located((By.XPATH, "/html/body/script[15]"))
)
finally:
driver.quit()这方面非常新,但我似乎无法在Selenium文档和StackO之间找到这一点。
这就引起了以下问题:
raise TimeoutException(message, screen, stacktrace)
TimeoutException再说一次,这方面是新的。我确信我想访问的java脚本是src="/Scripts/AppScripts/GeneralController.js" (?v=1.2)。它具有/html/body/script[15]的xpath。然而,我的访问方法本身可能是错误的。
任何洞察力都是值得赞赏的。谢谢你,C.
发布于 2018-10-25 08:18:30
脚本元素在DOM中,但对于可见性没有状态。
您可以使用EC.presence_of_element_located检查它们。
element = WebDriverWait(driver,20).until(
EC.presence_of_element_located((By.XPATH, "/html/body/script[15]"))
)https://stackoverflow.com/questions/52978999
复制相似问题