
1. **等待元素可见**
- 使用`WebDriverWait`等待某个特定的元素出现在页面中。
python
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
wait = WebDriverWait(driver, 10) # 设置等待的最大秒数
element = wait.until(EC.visibility_of_element_located((By.ID, "some_id")))
`WebDriverWait`会持续等待直到`until`函数返回True,或者达到设定的最大等待时间。
2. **等待特定元素的属性变化**
- 如果你知道某个元素的属性会在页面加载完毕后发生变化,可以利用这一点来判断。
python
wait = WebDriverWait(driver, 10)
element = wait.until(EC.attribute_changed(driver.find_element(By.ID, "some_id"), "some_attribute"))
3. **等待特定元素的文本变化**
- 如果某个元素的文本内容会在页面加载完毕后改变,可以使用这个方法。
python
wait = WebDriverWait(driver, 10)
element = wait.until(EC.text_to_be_present_in_element((By.ID, "some_id"), "some_text"))
4. **使用JavaScript**
- 你可以使用JavaScript来判断页面是否已经完全加载。
python
def is_page_loaded():
return driver.execute_script("return document.readyState") == "complete"
wait = WebDriverWait(driver, 10)
wait.until(is_page_loaded)
5. **自定义等待策略**
-
更多文章请关注《万象专栏》
转载请注明出处:https://www.wanxiangsucai.com/read/cv183631