学习笔记~
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
import time
from selenium.webdriver.support.wait import WebDriverWait
driver = webdriver.Chrome()
# ===============模拟等待====================
driver.get('https://sahitest.com/demo/waitFor.htm')
time.sleep(1)
el = driver.find_element(By.XPATH, ".//input[@value='Click me']")
el.click()
# 1. 强制等待
# time.sleep(3)
# 2. 隐性等待 假如3秒钟就加载出来了 但是 会等待其他所有元素加载完成才进行下一步
# driver.implicitly_wait(5)
# 3. 显示等待
'''
显性等待,WebDriverWait,配合该类的until0和until_not方法,就能够根据判断条件而进行灵活地等待了。
它主要的意思就是:程序每隔xx秒看一眼,如果条件成立,则执行下一步,否则继续等待,直到超过设置的最长时间,
然后抛出TimeoutException异常。
'''
locator = ("id", "id2")
WebDriverWait(driver, 5, 0.5).until(EC.presence_of_element_located(locator))
el1 = driver.find_element(By.ID, "id2")
print(el1.text)
time.sleep(2)