51Testing软件测试论坛

标题: 元素找不到 [打印本页]

作者: chuodl    时间: 2016-11-7 14:50
标题: 元素找不到
见附件 定位左侧导航的菜单管理 使用如下方法 driver.findElement(By.xpath(".//*[@id='navi_list']/li[1]/ul/li[1]/a")).click();
也试了其他xpath的方法 但是不成功
页面代码见附件

作者: chuodl    时间: 2016-11-7 15:55
额 有没有人在 帮忙看看呗
作者: 若尘_51    时间: 2016-11-7 16:41
请问你这个系统管理的菜单是默认展开的还是关闭的?  如果不是展开的,先操作点开“系统管理”,再点击“菜单管理”试试~~
作者: Tino    时间: 2016-11-7 17:41
我现在在公司就在测这种系统 我猜你这个应该也是由两步组成 第一步是点开【系统管理】 第二步就是点【菜单管理】 所以要有两个click 然后定位方式除了xpath 你这里class_name应该也可以 试一下吧
作者: 掉渣饼    时间: 2016-11-7 18:47
可以把你写的脚本发下吗?或者报错信息发下,你可以在定位左侧导航的菜单管理之前加一个等待时间试试看
作者: joykao    时间: 2016-11-8 08:59
不要用xpath啊,用其他的嘛比如用cssSelector("a[data-url='html/menu.html']")
作者: Miss_love    时间: 2016-11-8 09:31
joykao 发表于 2016-11-8 08:59
不要用xpath啊,用其他的嘛比如用cssSelector("a[data-url='html/menu.html']")

向LS学习
作者: chuodl    时间: 2016-11-8 11:31
掉渣饼 发表于 2016-11-7 18:47
可以把你写的脚本发下吗?或者报错信息发下,你可以在定位左侧导航的菜单管理之前加一个等待时间试试看

Thread.sleep(3000);
          driver.findElement(By.xpath(".//*[@id='navi_list']/li[1]/a")).click();
          driver.findElement(By.xpath(".//*[@id='navi_list']/li[1]/ul/li[1]/a")).click();

这么写了还是不对
作者: chuodl    时间: 2016-11-8 11:34
joykao 发表于 2016-11-8 08:59
不要用xpath啊,用其他的嘛比如用cssSelector("a[data-url='html/menu.html']")

不怎么会用css  是这么写吗
driver.findElement(By.cssSelector("a[data-url='html/menu.html']")).click(); 好像还是不行
作者: chuodl    时间: 2016-11-8 11:35
Tino 发表于 2016-11-7 17:41
我现在在公司就在测这种系统 我猜你这个应该也是由两步组成 第一步是点开【系统管理】 第二步就是点【菜单 ...

  Thread.sleep(3000);
          driver.findElement(By.xpath(".//*[@id='navi_list']/li[1]/a")).click();
          driver.findElement(By.xpath(".//*[@id='navi_list']/li[1]/ul/li[1]/a")).click();
这么写了还不不行
作者: chuodl    时间: 2016-11-8 13:30
额 定位是没有问题的 用xpath css都可以 开始的错误应该是我把登陆和这个页面的操作也分别在2个testng的方法里写 单独写就没有问题了 后来把testng的方法加了优先级就可以执行了 多谢大家帮忙 哈




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