Selenium - 元素等待(1) - 强制等待/隐式等待

2023-06-25,,

Selenium - 元素等待

浏览器的等待可以分为三种:强制等待、隐式等待、显式等待。

强制等待

强制等待使用python自带的 time 模块;

time.sleep(second):强制等待,无论页面如何,强制让代码暂停若干秒。

# 导入time模块
import time driver = webdriver.Chrome()
driver.get('http://www.baidu.com')
driver.find_element_by_id('kw').send_keys('python')
driver.find_element_by_id('su').click() # 强制等待三秒
time.sleep(3) driver.quit()

隐式等待

隐式等待是设置一个最大时间,页面会在这个时间内等待元素加载出来;(注意:如果超时还是会报错还没有等待到元素出现,那么还是会抛出异常);

driver.implicitly_wait(second):隐式等待是全局的设置,设置一次全局生效。

driver = webdriver.Chrome()
driver.get('http://www.baidu.com')
driver.maximize_window() # 隐式等待15秒
driver.implicitly_wait(15) driver.find_element_by_id('kw').send_keys('python')
driver.find_element_by_id('su').click()
driver.quit()

其他类型等待

driver = webdriver.Chrome()

# 设置页面加载超时时间
driver.set_page_load_timeout(30) # 设置异步脚本加载时间
driver.set_script_timeout(30)

Selenium - 元素等待(1) - 强制等待/隐式等待的相关教程结束。

《Selenium - 元素等待(1) - 强制等待/隐式等待.doc》

下载本文的Word格式文档,以方便收藏与打印。