四、添加等待時(shí)間
有時(shí)候?yàn)榱吮WC腳本運(yùn)行的穩(wěn)定性,需要腳本中添加等待時(shí)間。
4.1、添加休眠
添加休眠非常簡(jiǎn)單,我們需要引入 time 包,就可以在腳本中自由的添加休眠時(shí)間了。
# coding = utf-8
博客園—蟲師
http://fnng.cnblogs.com
16
from selenium import webdriver
import
time
#調(diào)入 time 函數(shù)
browser = webdriver.Firefox()
browser.get("http://www.baidu.com")
time.sleep(0.3)
#休眠0.3秒
browser.find_element_by_id("kw").send_keys("selenium")
browser.find_element_by_id("su").click()
time.sleep(3)
# 休眠3秒
browser.quit()
4.2、智能等待
通過(guò)添加 implicitly_wait() 方法就可以方便的實(shí)現(xiàn)智能等待;implicitly_wait(30)
的用法應(yīng)該比 time.sleep() 更智能,后者只能選擇一個(gè)固定的時(shí)間的等待,前者可以
在一個(gè)時(shí)間范圍內(nèi)智能的等待。
文檔解釋:
selenium.webdriver.remote.webdriver.implicitly_wait(time_to_wait)
隱式地等待一個(gè)無(wú)素被發(fā)現(xiàn)或一個(gè)命令完成;這個(gè)方法每次會(huì)話只需要調(diào)用一次
time_to_wait: 等待時(shí)間
用法:
browser.implicitly_wait(30)
# coding = utf-8
from selenium import webdriver
import
time
#調(diào)入 time 函數(shù)
browser = webdriver.Firefox()
browser.get("http://www.baidu.com")
browser.implicitly_wait(30)
#智能等待30秒
browser.find_element_by_id("kw").send_keys("selenium")
browser.find_element_by_id("su").click()
browser.quit()