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