Python页面加载的等待方式

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没有在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)
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。