51Testing软件测试论坛

标题: IEdriver能打开ie浏览器,取不到元素,怎么解? [打印本页]

作者: tshmylife    时间: 2015-8-4 15:59
标题: IEdriver能打开ie浏览器,取不到元素,怎么解?
其他浏览器可以,但是IE浏览器取不到元素,代码如下,求高人指点

作者: joykao    时间: 2015-8-4 16:47
加个等待看下,也许没有加载完。。。。还有可以访问http://www.baidu.com,https么不是security的就尽量不加
作者: xuweilove    时间: 2015-8-4 17:16
可能是网速过慢导致的 加等待吧

http://www.mytesting.cn/2015/auto_0716/30.html  
去官网查下资料吧  这里有 fanq工具
作者: zzhengjian    时间: 2015-8-6 22:43
你的定位没有啥问题,你出现的问题有可能是 1.等待时间问题,可以建议你用webdriver的显示等待, 参考http://www.webdriver.org/article-28-1.html 里面的方法一吧。 2. 当然也可以用隐式等待, 代码:                
WebDriver dr = new FirefoxDriver();
//webdriver的隐式等待,通过设置隐式等待将每次寻找元素的等待时间设置为5秒,如果5秒之内找不到则抛出element not found异常
dr.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
dr.get("http://www.baidu.com");
3. 还有可能出现了frame, 这是百度首页诡异的问题,用webdriver打开有时候(情况比较少)会出现frame, 那这个时候你就需要切换到frame里面去了。代码:
                dr.get("http://www.baidu.com");               
                WebDriverWait wait = new WebDriverWait(dr, 5);
                try{
                        wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//iframe")));
                        dr.switchTo().frame(dr.findElement(By.xpath("//iframe")));
                }
                catch (Exception e){
                        e.printStackTrace();
                       
                }
这样管frame有没有出现都ok了.

百度首页的frame截图
C:\Users\Alex\Documents\webdriver_org\New folder\1.png

作者: tshmylife    时间: 2015-8-7 14:53
zzhengjian 发表于 2015-8-6 22:43
你的定位没有啥问题,你出现的问题有可能是 1.等待时间问题,可以建议你用webdriver的显示等待, 参考http:/ ...

谢谢
作者: muwuyong    时间: 2015-9-9 08:37
我也遇到同样的问题,chrome就可以运行,ieexplorer就无法运行,我是有等待时间的





欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2