Selenium Python:单击后如何等待页面加载?

abh*_*n93 2 python selenium

单击后,我想获取页面的页面源。然后使用browser.back()函数返回。但是Selenium不允许单击后完全加载页面,并且由JavaScript生成的内容未包含在该页面的页面源中。

element[i].click()
#Need to wait here until the content is fully generated by JS.
#And then grab the page source.
scoreCardHTML  = browser.page_source
browser.back()
Run Code Online (Sandbox Code Playgroud)

wis*_*nia 5

正如艾伦(Alan)所说-您可以等待某些元素被加载。以下是示例代码

from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC

browser = webdriver.Firefox()
element = WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.ID, "element_id")))
Run Code Online (Sandbox Code Playgroud)