1.sleep 休眠方法python
# coding:utf-8 # 導入time包 from time import sleep from selenium import webdriver driver = webdriver.Firefox() driver.get("https://www.baidu.com") sleep(2) driver.find_element_by_id("kw").send_keys("selenium") sleep(1.5) driver.find_element_by_id("su").click()
2.隱式等待 implicitly_wait()web
頁面跳轉的時候,不知道去等第二個頁面網站
Implicitly_wait(10)默認參數的單位是秒,這裏10秒並非固定的等待時間,當腳本定位不到這個元素時,
它將以輪詢的方式不斷地判斷元素是不是否被定位到,若是超過了10秒仍是定位不到元素,那麼就會拋出異常。ui
# coding:utf-8 from selenium import webdriver driver = webdriver.Firefox() driver.implicitly_wait(10) driver.get("https://www.baidu.com") driver.find_element_by_id("kw1").send_keys("python")
3.顯式等待 WebDriverWait()調試
首先打開源碼看一下,源碼的位置
code
看一下源碼中,WebDriverWait每一個參數的意思
utf-8
ignored_exceptions :忽略異常,默認忽略 NoSuchElementExceptionci
# coding:utf-8 from selenium import webdriver from selenium.webdriver.support.ui import WebDriverWait driver = webdriver.Firefox() driver.implicitly_wait(10) driver.get("https://www.baidu.com") element = WebDriverWait(driver, 15).until(lambda x: x.find_element_by_id("kw")) print(element)