51Testing软件测试论坛

标题: 定位不到页面元素,大神们帮帮忙 [打印本页]

作者: phoenix_zheng    时间: 2016-8-25 17:49
标题: 定位不到页面元素,大神们帮帮忙
点击按钮弹出新的子窗口,然后定位到新窗口,用By.Xpath方法取页面上的Select链接,可是总报错,提示找不到页面元素,找不到原因,郁闷中,请大神们帮帮忙。
下面是测试代码,附件是页面源码:

String parentwindowID = driver.getWindowHandle();
System.out.println("Parent window ID is"+parentwindowID);
driver.findElement(By.xpath("//*[@id=\"pl_kna1_katr6\"]/img")).click();

Set<String> allWindowsID = driver.getWindowHandles();
System.out.println(allWindowsID);
for (String windowID:allWindowsID){
  if (!driver.switchTo().window(windowID).getWindowHandle().equals(parentwindowID)){
   driver.switchTo().window(windowID);
  }
}
String newID = driver.getWindowHandle();
System.out.println(newID);
driver.findElement(By.xpath("//*[@id=\"pickListForm\"]/table[2]/tbody/tr[2]/td[1]/a")).click();


作者: phoenix_zheng    时间: 2016-8-25 17:53
顶顶顶
作者: 清晨一缕阳光    时间: 2016-8-26 08:36
  1. for (String windowID:allWindowsID){
  2.    if (windowID.equals(parentwindowID)){
  3.     driver.switchTo().window(windowID);
  4.    }
复制代码

作者: phoenix_zheng    时间: 2016-8-26 14:18
清晨一缕阳光 发表于 2016-8-26 08:36

你的代码是要切换到原来的窗口,我是需要切换到新弹出窗口,然后找新窗口中的元素。我按你的前面再加了个!改了,结果还是不行。我已经能够定位到新窗口,可是就是找不到新窗口中的元素,崩溃了
作者: here556    时间: 2016-8-30 18:04
1、到新页面后等待下,有可能是跳转后页面元素没有加载出来。
2、有可能已经找到元素了,但是找到多个元素,从而click报错。通过firebug看下,或者在代码中打印日志输出元素个数。
3、元素是动态变化的,debug代码看看是否是这个原因导致的。




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