phoenix_zheng 发表于 2016-8-25 17:49:57

定位不到页面元素,大神们帮帮忙

点击按钮弹出新的子窗口,然后定位到新窗口,用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/tbody/tr/td/a")).click();

phoenix_zheng 发表于 2016-8-25 17:53:49

顶顶顶

清晨一缕阳光 发表于 2016-8-26 08:36:38

for (String windowID:allWindowsID){
   if (windowID.equals(parentwindowID)){
    driver.switchTo().window(windowID);
   }

phoenix_zheng 发表于 2016-8-26 14:18:12

清晨一缕阳光 发表于 2016-8-26 08:36


你的代码是要切换到原来的窗口,我是需要切换到新弹出窗口,然后找新窗口中的元素。我按你的前面再加了个!改了,结果还是不行。我已经能够定位到新窗口,可是就是找不到新窗口中的元素,崩溃了

here556 发表于 2016-8-30 18:04:48

1、到新页面后等待下,有可能是跳转后页面元素没有加载出来。
2、有可能已经找到元素了,但是找到多个元素,从而click报错。通过firebug看下,或者在代码中打印日志输出元素个数。
3、元素是动态变化的,debug代码看看是否是这个原因导致的。
页: [1]
查看完整版本: 定位不到页面元素,大神们帮帮忙