1、显式等待
它指定了要找到的节点,然后指定了最长的等待时间。如果节点在规定的时间内加载,则返回搜索节点;如果节点在规定的时间内没有加载,则抛出超时异常。
fromseleniumimportwebdriver fromselenium.webdriver.common.byimportBy fromselenium.webdriver.support.uiimportWebDriverWait fromselenium.webdriver.supportimportexpected_conditionsasEC broswer=webdriver.Chrome() broswer.get('https://www.jd.com/') wait=WebDriverWait(broswer,20) input_q=wait.until(EC.presence_of_element_located((By.ID,'key'))) button=wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR,'.button'))) print(input_q,button)
2、隐式等待
当Selenium使用隐式等待测试时,如果Selenium没有在DOM中找到节点,它将继续等待。超过设定时间后,抛出找不到节点的异常。换句话说,当节点没有出现时,隐式等待将等待一段时间才能找到DOM。默认时间为0,如下:
fromseleniumimportwebdriver browser=webdriver.Chrome() browser.implicitly_wait(10) browser.get('https://www.jd.com/') input_q=browser.find_element_by_class_name('button') print(input_q)
以上是Python页面加载的等待方式,希望对每个人都有帮助。更多Python学习指导:python基础教程