隨筆一些小小知識點。
話不多說,開始啦。
python里最常見的3中元素等待操作:
一、強制等待
sleep(3)
這個方法使用時只需引入time模塊即可,如:import time
這種等待方式,時間到了就執行下面語句,如:sleep(3),3s過后執行下面代碼,這種等待方式比較死板,效率低,並且不能保證在規定的時間內元素就被加載出來了。
二、隱性等待
Implicitly_wait(xxx)
這個等待表示在規定的時間內頁面所有元素都加載完了就執行下一步,否則一直等到時間截止,再去執行下一步。
這個方法相比方法一靈活,但缺點是,你需要的元素已經加載完成了,但頁面還沒有加載完成,還需要頁面元素加載完成了再去執行下一步。
三、顯性等待
WebDriverWait,配合該類的until()和until_not()方法,表示程序每隔x秒去判斷一下指定的元素是否加載完,加載完了就執行下一步,否則繼續每隔x秒去判斷,指定時間截止。如果超時就會拋出異常。
用法:WebDriverWait(self.driver,15).until(EC.visibility_of_element_located((By.XPATH,'//span[@id="username"]')))