Selenium為什么需要頁面等待

  • 頁面等待
    大多數(shù)Web應(yīng)用程序都是使用Ajax和Javascript開發(fā)的。當瀏覽器加載頁面時,我們想要與之交互的元素可能以不同的時間間隔加載。它不僅難以識別元素,而且如果元素未定位,它將拋出“ ElementNotVisibleException ”異常。使用Waits,我們可以解決此問題。

頁面等待
def wait_page():
    #     隱式等待
    browser = webdriver.Chrome()
    browser.get("https://www.zhihu.com/explore")
    browser.implicitly_wait(1)
    elments = browser.find_element_by_class_name("ExploreFollowButton")
    print(elments)

    #     顯式等待
    browser.get("https://www.taobao.com/")
    wait = WebDriverWait(browser,1)
    input = wait.until(EC.presence_of_element_located((By.ID,'q')))
    button = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR,'.btn-search')))
    print(input,button)
wait_page()
#等待的條件 | 含義
#title_is | 標題是某內(nèi)容
#title_contains | 標題包含某內(nèi)容
#presence_of_element_located | 節(jié)點加載出來,需要傳入定位元組,如By.ID,'q'
#visibility_of_element_located | 節(jié)點可見,傳入定位元組
#visibility_of | 傳入的節(jié)點對象可見
# element_to_be_clickable | 節(jié)點可被點擊
#staleness_of | 判斷一個節(jié)點是否仍在DOM中,可以判斷頁面是否被刷新
#alert_is_present | 判斷警告框是否彈出
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 概要 64學時 3.5學分 章節(jié)安排 電子商務(wù)網(wǎng)站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,849評論 0 3
  • HTML 5 HTML5概述 因特網(wǎng)上的信息是以網(wǎng)頁的形式展示給用戶的,因此網(wǎng)頁是網(wǎng)絡(luò)信息傳遞的載體。網(wǎng)頁文件是用...
    阿啊阿吖丁閱讀 4,948評論 0 0
  • 前端開發(fā)面試題 面試題目: 根據(jù)你的等級和職位的變化,入門級到專家級,廣度和深度都會有所增加。 題目類型: 理論知...
    怡寶丶閱讀 2,682評論 0 7
  • 五十三:請解釋 JavaScript 中 this 是如何工作的。1.方法調(diào)用模式當一個函數(shù)被保存為一個對象的屬性...
    Arno_z閱讀 683評論 0 2
  • 今天是假期的第一天,經(jīng)過昨天的返校,閨女放學后就跟同學聚餐,去玩,直到晚上九點才進家門,感謝咱們大中國,可以晚上...
    奔跑的小芳閱讀 274評論 0 1

友情鏈接更多精彩內(nèi)容