因為用心,才會喜歡

粥雨

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

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)
posted @ 2022-09-14 11:50  粥雨  阅读(100)  评论(0编辑  收藏  举报