51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 1990|回复: 3
打印 上一主题 下一主题

webdriver能否实现找不到元素退出重登?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2016-2-5 13:05:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
目前碰到这样一个问题,系统登录后需要加载一些元素成功后才能继续其它操作,但是经常会出现加载超时失败,于是我考虑在一定时间内找不到元素就退出浏览器重新登录,这种场景能否实现? 我试以下代码,但是超时还是报错,似乎无法捕获异常

public static boolean isElementExsit(By locator) {   
                      try {  
                              new WebDriverWait(driver, 40).until(ExpectedConditions.presenceOfElementLocated(locator));
                              return true;
                       } catch (NoSuchElementException e) {  
                            System.out.println("Welcome Element is not exsit!");  
                            return false;
                        }  
                        
                    }


while(isElementExsit(By.xpath("//*[@id=\"welcome_id\"]"))==false){
                driver.quit();
                options.addArguments("--allow-running-insecure-content");
                driver = new ChromeDriver(options);
                driver.manage().window().maximize();
                driver.get("..........");
                driver.findElement(By.id("loginId")).sendKeys("test");
                driver.findElement(By.name("j_password")).sendKeys("Pass");
                driver.findElement(By.name("submitButton")).click();
                };
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2016-2-5 16:19:06 | 只看该作者
把显示等待new WebDriverWait(driver, 40).until(ExpectedConditions.presenceOfElementLocated(locator));换成new WebDriverWait(driver, 40).until(ExpectedConditions.presenceOfElementLocated(locator)); driver.findElement(locator); 可以捕获异常,但是等待时间固定死,有没有好的办法,可以在显示等待中捕获异常?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2016-2-16 16:49:59 | 只看该作者
有没有高人解答一下
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2016-2-18 13:38:30 | 只看该作者
问题解决catch异常类型写错,显示等待抛出的异常是TimeoutException
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-4-28 07:32 , Processed in 0.067281 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表