zoukankan      html  css  js  c++  java
  • Selenium

    1. 什么是元素等待以及为什么要等待

    1.1 概念:

    在定位页面元素时如果未找到,会在指定时间内一直等待的过程

    1.2 为什么需要元素等待

    在使用Selenium进行元素定位时, 可能会出现页面还mei
    	(1).网络速度慢 
    	(2).电脑配置低 
    	(3).服务器处理请求慢
    

    2. 元素等待类型及实现

    # 1.等待类型:
    	(1).隐式等待: 定位元素时,如果能定位到元素则直接返回该元素,不触发等待;如果不能定位到该元 素,则间隔一段时间后再去定位元素;如果在达到最大时长时还没有找到指定元素,则抛出元素 不存在的异常NoSuchElementException。
    	(2).显式等待: 定位指定元素时,如果能定位到元素则直接返回该元素,不触发等待 如果不能定位到该元素,则间隔一段时间后再去定位元素;如果在达到最大时长时还没有找到指定元素,则抛出超时异常TimeoutException。
    
    # 2.实现方式:
    # (1).隐式等待:
    	driver.implicitly_wait(timeout)
    
    # (2).显式等待:
    	1).导包: from selenium.webdriver.support.wait import WebDriverWait 
    	2).实例化对象: WebDriverWait(driver, timeout, poll_frequency=0.5) 
    		- driver:浏览器驱动对象 
    		- timeout:超时的时长,单位:秒 
    		- poll_frequency:检测间隔时间,默认为0.5秒 
    	3).用方法until(method):直到...时 
    		- method:函数名称,该函数用来实现对元素的定位 
    		- 一般使用匿名函数来实现:lambda x: x.find_element_by_id("userA") 
    	4).element = WebDriverWait(driver, 10, 1).until(lambda x:x.find_element_by_id("userA") )
    
  • 相关阅读:
    sql统计
    如何让文本框内的提示信息在激活文本框时清空
    Button onclick事件
    CustomValidator 的应用
    DjangoORM数据库创建
    HDU3685 几何+重心+凸包+判定锐角三角形
    CF181c
    POJ2187 旋转卡壳+凸包
    HDU2907凸包+凹面
    HDU2108+几何+判断凸多边形
  • 原文地址:https://www.cnblogs.com/yimeng123/p/15264844.html
Copyright © 2011-2022 走看看