51Testing软件测试论坛

标题: 请大神帮忙定位一个元素 [打印本页]

作者: 合肥人真帅    时间: 2017-5-24 16:45
标题: 请大神帮忙定位一个元素
本帖最后由 合肥人真帅 于 2017-5-24 16:46 编辑

定位下面这个按钮
[attach]106310[/attach]


html代码如下
[attach]106312[/attach]

eclipse中的代码如下
[attach]106314[/attach]

这个页面上有4个iframe,我想要定位的这个元素(日期控件里面,“今天”这个按钮),处于最后一个iframe里
但是使用
                driver.switchTo().frame(3);
                driver.findElement(By.id("dpTodayInput")).click();

就是找不到对象


作者: 掉渣饼    时间: 2017-5-24 17:11
有以下几种情况会出现,提示找不到元素
1、没有加等待时间
2、定位的ID在当前页面源码中存在多个
3、driver.switchTo().frame(3)这个定位的iframe不在driver.switchTo().frame(2)这个定位的iframe下面,所以要先跳出driver.switchTo().frame(2)这个定位的iframe,具体跳出语句你可以百度下
作者: 掉渣饼    时间: 2017-5-24 17:12
掉渣饼 发表于 2017-5-24 17:11
有以下几种情况会出现,提示找不到元素
1、没有加等待时间
2、定位的ID在当前页面源码中存在多个

我觉得你的应该是第3种情况
作者: 梦想家    时间: 2017-5-24 17:18
厉害了
作者: cq520131517    时间: 2017-5-24 20:11
先加个时间等待看看
作者: 合肥人真帅    时间: 2017-5-24 21:47
是第三种。谢了老哥!
driver.switchTo().defaultContent();
driver.switchTo().frame(3);
driver.findElement(By.id("dpTodayInput")).click();

这样就成功了
作者: 合肥人真帅    时间: 2017-5-24 21:48
本帖最后由 合肥人真帅 于 2017-5-25 09:03 编辑
掉渣饼 发表于 2017-5-24 17:12
我觉得你的应该是第3种情况

谢了 老哥




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