selenium2中的等待

selenium2中的等待

   分两种  Explicit Waits  Implicit Waits

Explicit Waits(显示等待)

  等待一个指定的条件发生后,再去执行后续代码。比较差的应用就是Thread.sleep()(指定一个固定的时间去等待)

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions

 WebDriverWait 和 expected_conditions两者结合能实现相当多的场景

element = WebDriverWait(ff, 10).until(expected_conditions.presence_of_element_located((By.ID, "myDynamicElement")))#等待10S,直到该元素出现#WebDriverWait 默认没0.5s执行一次ExpectedCondition,直到其返回成功(true或者不为null的对象)

其他等待条件

ExpectedConditions.element_to_be_clickable #元素是否可点击

Implicit Waits(隐式等待)

  设置webdriver在查找一些不是立刻展示的元素时,保留一定的时间。默认设置为0。一旦设定,webdriver对象的整个生命周期都生效

ff.implicitly_wait(10) # seconds
ff.get("http://somedomain/url_that_delays_loading")
myDynamicElement = ff.find_element_by_id("myDynamicElement")

  

时间: 2024-10-05 03:22:01

selenium2中的等待的相关文章

高并发应用中客户端等待、响应时间的推算,及RT/QPS概念辨析

高并发应用中客户端等待.响应时间的推算,及RT/QPS概念辨析 对于一个网站,已知服务端的服务线程数和处理单个请求所需的时间时,该如何算出高并发时用户从点击链接到收到响应的时间?注意这个时间并不等于服务端处理单个请求的时间,因为高并发时,很多用户请求需要排队等待,你要把这个额外的等待时间算进去. 这个问题很重要,因为它的结果直接影响你的网站的用户体验.这篇文章就是来帮你算这个时间的.你可以使用本文附带的程序来算,也可以通过本文提炼出的公式来算. 另外还有一个问题:所谓RT(响应时间)和QPS,究

判断目前系统中的等待事件

判断目前系统中的等待事件: SELECT SUBSTR(s1.username,1,12) "WAITING USER" , SUBSTR(s1.osuser,1,8) "OS User" , SUBSTR(TO_CHAR(w.session_id),1,5) "Sid" , p1.spid "PID" , SUBSTR(s2.username,1,12) "HOLDING User" , SUBSTR(s

Java 中的等待唤醒机制透彻讲解

线程的状态 首先了解一下什么是线程的状态,线程状态就是当线程被创建(new),并且启动(start)后,它不是一启动就进入了执行状态(run),也不是一直都处于执行状态. 这里说一下Java 的Thread类里面有一个State方法,这个方法里面涵盖了6种线程的状态,如下: public enum State { // 尚未启动的线程的线程状态. NEW, // 可运行线程的线程状态. RUNNABLE, // 线程的线程状态被阻塞,等待监视器锁定. BLOCKED, // 等待线程的线程状态.

appium中的等待方式使用

背景: 首先,由于一个网速和手机性能以及服务器反应时间等等的原因,不可能导致我们点击了某一个元素之后,它所要链接的页面马上弹出来可以进行下一步操作.所以我们需要一种等待方式,直至链接的页面跳出来之后再进行下一步操作. 解决方法:appium中的操作方式有3种,接下来我将介绍一下较简单的2中等待的使用方法: 第一种(强制等待): 使用方法:time.sleep(10)解释:强制等待的方式,不管你的下一个页面是否展示出来,系统将强制等待10秒,10秒之后继续执行下一步.如果这10s中下一页展示出来了

selenium2中关于Python的常用函数

driver = webdriver.Chrome(chromeDriver) 1.返回当前会话中的cookies:driver.get_cookies() 2.根据cookies name查找:driver.get_cookie(cookiename) 3.截取当前页面:get_screenshot_as_file(filename),如:get_screenshot_as_file("D:\\nm.bmp") 4.获取当前窗口的坐标:driver.get_window_positi

Java中线程等待(同步)的五种方法

在面试时,经常会有面试官问道,一个主线程有多个子线程,如何能使子线程的业务执行完成之后,再执行主线程业务逻辑.对于这个问题,本人能够想到的有五种方法,详细请移步源码 1.使用线程类自带的join方法,将子线程加入到主线程,在子线程执行完之后,在执行主线程逻辑. 例如 public static void joinDemo() throws InterruptedException { System.out.println("=========Test with join=====");

线程中的等待与唤醒

上一篇文章讲到join()方法的时候,用到了一个函数即为yield()方法,它的作用是将cup让与具有相同优先级的线程去使用.本篇文章就为大家讲述线程中的一些关于等待和唤醒的函数. sleep(): 使当前线程暂停使用一段时间,让其它线程继续有机会执行,但是它并不释放对象锁,也就是说有synchronized关键字的时候,其它线程仍然不能访问其共享资源.sleep()方法需要用户去设置阻塞的时间.在用户设置sleep()方法的时候,该线程一定是不会被执行的,所以会让优先级低的线程有机会去执行.也

多线程之Java中的等待唤醒机制

多线程的问题中的经典问题是生产者和消费者的问题,就是如何让线程有序的进行执行,获取CPU执行时间片的过程是随机的,如何能够让线程有序的进行,Java中提供了等待唤醒机制很好的解决了这个问题! 生产者消费者经典的线程中的问题其实是解决线程中的通讯问题,就是不同种类的线程针对同一资源的操作,这里其实有一张图很好的阐述了这其中的问题: 1 //代码中的实体类 2 public class Student { 3 String name; 4 int age; 5 boolean flag; // 默认

webdriver中的等待-WebDriverWait()

1.强制等待:sleep() from time import sleep sleep(3) #等待3秒 ****官方不推荐这样的方法,使用太多的sleep会影响脚本运行速度 2.隐式等待:implicitly_wait() driver.implicitly_wait(10) #隐式等待10秒 由webdriver提供的方法,一旦设置,这个隐式等待会在WebDriver对象实例的整个生命周期起作用,它不针对某一个元素,是全局元素等待,即在定位元素时,需要等待页面全部元素加载完成,才会执行下一个