51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1580|回复: 4
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 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[2]/tbody/tr[2]/td[1]/a")).click();

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

5#
发表于 2016-8-30 18:04:48 | 只看该作者
1、到新页面后等待下,有可能是跳转后页面元素没有加载出来。
2、有可能已经找到元素了,但是找到多个元素,从而click报错。通过firebug看下,或者在代码中打印日志输出元素个数。
3、元素是动态变化的,debug代码看看是否是这个原因导致的。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2016-8-26 14:18:12 | 只看该作者

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

使用道具 举报

  • TA的每日心情
    擦汗
    2024-11-1 14:56
  • 签到天数: 1182 天

    连续签到: 1 天

    [LV.10]测试总司令

    3#
    发表于 2016-8-26 08:36:38 | 只看该作者
    1. for (String windowID:allWindowsID){
    2.    if (windowID.equals(parentwindowID)){
    3.     driver.switchTo().window(windowID);
    4.    }
    复制代码
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-12 02:14 , Processed in 0.069375 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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