selenium全局的等待时间处理

1、公司同事给了一个全局的等待处理,

中间的判断核心就是  通过js的脚本判断页面是否刷新完,状态是complete。如果是的话再执行以下的脚本,

否则等待系统的全局等待时间。

//等待页面加载时间
    public static void waitForPage(WebDriver myDriver)throws Exception
    {
        ExpectedCondition<Boolean> expectation = new ExpectedCondition<Boolean>() {
            public Boolean apply(WebDriver driver) {
                return ((JavascriptExecutor) driver).executeScript(
                "return document.readyState").toString().equalsIgnoreCase("complete");
            }
        };
        Wait<WebDriver> wait = new WebDriverWait(myDriver, 30);//这里的驱动 是系统的驱动    方法里面传进来的驱动
        try {
            wait.until(expectation);
        } catch (Exception e) {
            System.out.println("Timeout waiting for Page Load Request to complete.");
        }
        //System.out.println("before sync: " + Global.getDriver().executeScript("return document.readyState").toString());
        //Thread.sleep(5000);
        //System.out.println("after sync: " + Global.getDriver().executeScript("return document.readyState").toString());
      Thread.sleep(500);
    }         
时间: 2024-10-16 02:10:54

selenium全局的等待时间处理的相关文章

Python+Selenium学习--设置等待时间

场景 sleep():设置固定休眠时间.python 的time 包提供了休眠方法sleep() ,导入time 包后就可以使用sleep()进行脚本的执行过程进行休眠.implicitly_wait():是webdirver 提供的一个超时等待.隐的等待一个元素被发现,或一个命令完成.如果超出了设置时间的则抛出异常.WebDriverWait():同样也是webdirver 提供的方法.在设置时间内,默认每隔一段时间检测一次当前页面元素是否存在,如果超过设置时间检测不到则抛出异常. 代码 #!

selenium webdriver显示等待时间

当页面加载很慢时,推荐使用显示等待:等到需要操作的那个元素加载成功之后就直接操作这个元素,不需要等待其他元素的加载 WebDriverWait wait = new WebDriverWait(driver, 10); wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("kw"))); 显式等待 使用ExpectedConditions类中自带方法, 可以进行显试等待的判断. 显式等待可以自定义等待的条件,用于

Selenium Webdriver——设置等待时间

1.隐式等待 implicitlyWait(): 当使用了隐士等待执行测试的时候,如果 WebDriver没有在 DOM中找到元素,将继续等待,超出设定时间后则抛出找不到元素的异常 当查找元素或元素并没有立即出现的时候,隐式等待将等待一段时间再查找 DOM,默认的时间是0 一旦设置了隐式等待,则它存在整个 WebDriver 对象实例的声明周期中,隐式的等到会让一个正常响应的应用的测试变慢, 它将会在寻找每个元素的时候都进行等待,这样会增加整个测试执行的时间. driver.manage().t

Selenium中的几种等待方式,需特别注意implicitlyWait的用法(转)

最近在项目过程中使用selenium 判断元素是否存在的时候 遇到一个很坑爹的问题, 用以下方法执行的时候每次都会等待很长一段时间,原因是因为对selenium实现方法了解不足导致一直找不到解决方法. private boolean isElementPresent(By by) {     try { driver.findElement(by);       return true;     } catch (NoSuchElementException e) {       return

转:Selenium中的几种等待方式,需特别注意implicitlyWait的用法

最近在项目过程中使用selenium 判断元素是否存在的时候 遇到一个很坑爹的问题, 用以下方法执行的时候每次都会等待很长一段时间,原因是因为对selenium实现方法了解不足导致一直找不到解决方法. private boolean isElementPresent(By by) {     try { driver.findElement(by);       return true;     } catch (NoSuchElementException e) {       return

Selenium with Python 008 - WebDriver 元素等待

如今大多数Web应用程序使用Ajax技术,当浏览器在加载页面时,页面上的元素可能并不是同时被加载完成的,这给元素的定位增加了困难.如果因为在加载某个元素时延迟而造成ElementNotVisibleException的情况出现,那么就会降低自动化脚本的稳定性,我们可以通过设置元素等待改善这种问题造成的不稳定. WebDriver提供了两种类型的等待:含蓄等待和明确等待.明确等待作用于特定代码块,使得WebDriver等待某个条件成立时继续执行,否则在达到最大时长时抛出超时异常:而含蓄等待,属于全

Selenium中的几种等待方式,需特别注意implicitlyWait的用法

转自http://blog.csdn.net/pf20050904/article/details/20052485?utm_source=tuicool 最近在项目过程中使用selenium 判断元素是否存在的时候 遇到一个很坑爹的问题, 用以下方法执行的时候每次都会等待很长一段时间,原因是因为对selenium实现方法了解不足导致一直找不到解决方法. private boolean isElementPresent(By by) {    try { driver.findElement(b

selenium学习总结

selenium主要用来做web自动化,分1.0和2.0两个版本,1.0包括selenium IDE.selenium Grid.selenium Remote Control,2.0在1.0的基础上增加了webdriver 1)selenium IDE  是火狐的一个插件,可以在火狐中录制.回放脚本,并且形成各种语言的脚本文件,在学习中使用的是catalon插件 2)selenium Grid 做测试的并行处理,目前学习中暂未过多接触. 3)selenium RC 用例的编写及运行,是在浏览器

Selenium_python自动化第一个测试案例(代码基本规范)

发生背景: 最近开始整理Selenium+python自动化测试项目中相关问题,偶然间翻起自己当时学习自动化时候写的脚本,发现我已经快认不出来写的什么鬼流水账了,所以今天特别整理下自动化开发Selenium+python脚本的基本示例: 示例脚本: 1.在这里拿最简单的示例代码分别讲解写脚本时候需要注意的地方,和各模块的作用: # -*- coding:utf-8 -*- __author__='dong.c' from selenium import webdriver import unit