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
)。其中的xpath为/html/body/script[15]
。但是,我的访问方法可能是错误本身。
任何见识都值得赞赏。谢谢,C。
答案 0 :(得分:0)
脚本元素位于DOM中,但没有可见性状态。
您可以使用 EC.presence_of_element_located
检查它们element = WebDriverWait(driver,20).until(
EC.presence_of_element_located((By.XPATH, "/html/body/script[15]"))
)