等待元素
强制等待:
time.sleep(3);
以秒为单位 必须过了这个时间才能执行下一步
隐式等待:必须要写
driver.implicitly_wait(10);
隐式等待:不断刷新页面,直到在规定时间查找元素,否则报出异常
from selenium import webdriver import time #设置谷歌,设置浏览器 driver=webdriver.Chrome() #隐式等待:不断刷新页面,直到在规定时间查找元素,否则报出异常 driver.implicitly_wait(10) driver.get('https://www.baidu.com')
显示等待:
webDriverWait(driver,timeout,poll_frequery=0.5,ignored_exceptions=none) 参数说明: driver:绑定driver对象 timeout:超时时间 poll_frequery:频率 ignored_exceptions:忽略异常,可以不输入参数
from selenium import webdriver
import time
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
# 创建浏览器对象
driver = webdriver.Chrome()
driver.get('https://www.baidu.com')
Element=WebDriverWait(driver, 5, 0.5, ignored_exceptions=None).until(EC.presence_of_element_located((By.ID, "kw")),"找不到")
if Element:
Element.send_keys('selenium')
time.sleep(3)
else:
print(Element)
time.sleep(3)
driver.quit()