美文网首页
元素等待

元素等待

作者: 小娟_bb93 | 来源:发表于2020-03-15 18:37 被阅读0次

元素等待,显示等待和隐式等待~

  • 显示等待:是针对某一个元素进行相关等待判定;
  • 隐式等待:不针对某一个元素进行等待,全局元素等待。

相关模块:

WebDriverWait 用于显示式等待查找元素
等待页面加载完成,找到某个条件发生后再继续执行后续代码,如果超过设置时间检测不到则抛出异常 。
WebDriverWait(driver, timeout, poll_frequency=0.5, ignored_exceptions=None)
——driver:WebDriver 的驱动程序(Ie, Firefox, Chrome 或远程)
——timeout:最长超时时间,默认以秒为单位
——poll_frequency:休眠时间的间隔(步长)时间,默认为 0.5 秒
——ignored_exceptions:超时后的异常信息,默认情况下抛NoSuchElementException 异常

expected_conditions 预期条件类(里面包含方法可以调用,用于显示等待)
NoSuchElementException 用于隐式等待抛出异常
By 用于元素定位

显示等待

案例:检测百度页面搜索按钮是否存在,存在就输入关键词“Selenium” 然后点击搜索

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from time import sleep

'''
显示等待:针对某一个元素进行相关等待判定。
'''

driver = webdriver.Chrome()

driver.get("https://www.baidu.com/")

driver.find_element_by_css_selector('#kw').send_keys('selenium')

sleep(2)

# 显示等待:当页面查找搜索按钮,每隔0.5s查询一次,3s超时仍查找不到抛异常
element = WebDriverWait(driver, 3, 0.5).until(EC.presence_of_element_located((By.ID, 'su')))
element.click()

sleep(3)

driver.quit()

隐式等待

from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
from time import sleep, ctime


'''
隐式等待: 不针对某一个元素进行等待,全局元素等待
'''


driver = webdriver.Chrome()

driver.get("https://www.baidu.com/")

sleep(2)

# 设置隐式等待时间
driver.implicitly_wait(5)

# 检查元素是否存在,不存在抛出异常
try:
    print(ctime())
    driver.find_element_by_css_selector("#kw").send_keys("selenium")
    driver.find_element_by_css_selector('#su').click()
except NoSuchElementException as msg:
    print(msg)
finally:
    print(ctime())

sleep(2)

driver.quit()

相关文章

  • 了解元素显式等待,掌握元素隐式等待【乐搏TestPro】

    设置元素等待 目标 1. 了解元素显式等待 2. 掌握元素隐式等待 1. 元素等待 1.1 什么是元素等待? 概念...

  • 元素等待

    1.设置元素等待可以更灵活的制定等待定位元素的时间,增强脚本的简装修,提高执行效率。 2.元素等待类型 1.强...

  • 元素等待

    dd=WebDriverWait(driver,3).until(lambda driver:driver.fin...

  • 元素等待

    元素等待,显示等待和隐式等待~ 显示等待:是针对某一个元素进行相关等待判定; 隐式等待:不针对某一个元素进行等待,...

  • 11.Appium基础--元素等待

    元素等待作用 设置元素等待,可以更加灵活的制定等待定位元素的时间,从而增强脚本的健壮性,提高执行效率。 元素等待类...

  • appium元素等待

    元素等待 在自动化过程中,元素出现受网络环境,设备性能等多种因素影响。因此元素加载的时间可能不一致,从而会导致元素...

  • 设置元素等待

    implicitly_wait()WebDriverWait()

  • Appium元素等待

    思考 在自动化过程中,元素出现收网络环境,设备性能等多种因素影响,因此元素加载时间可能不一致,从而导致元素无法定位...

  • Appium学习(三)--3种等待、AppiumGUI、模拟键盘

    等待元素 等待元素加载有三种办法: 第一种:强制等待 sleepThread.sleep(60000)用在执行查找...

  • 显示等待,隐式等待,流动等待区别

    显示等待(explict wait) 也叫智能等待 给指定元素加等待时间,每隔一定时间查找一次元素,如果设置的等待...

网友评论

      本文标题:元素等待

      本文链接:https://www.haomeiwen.com/subject/admpehtx.html