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") )
    
  • 相关阅读:
    nodejs中处理回调函数的异常
    Web前端开发十日谈
    Android 高仿微信6.0主界面 带你玩转切换图标变色
    Android EventBus源码解析 带你深入理解EventBus
    Android EventBus实战 没听过你就out了
    究竟谁在绑架中国的4G政策?
    Android 实战美女拼图游戏 你能坚持到第几关
    oracle学习
    his使用-重置密码
    oracle中的DDL、DML、DCL
  • 原文地址:https://www.cnblogs.com/yimeng123/p/15264844.html
Copyright © 2011-2022 走看看