求助,selenium定位树总是定位不了菜单,一直报错
求大神们帮助,这个错在哪里,我想实现点击“教务管理”展开子菜单效果<li class="L1"><a href="javascript:void(0)" onclick="c(am1)" id="am1"><span>教务管理</span></a></li><ul id="am1d" style="display: none;" class="U1"><li class="L21"><a href="/CurrKeChengZongBiao/Index" target="mainfrm" id="m11"><span>课程总表</span></a></li><li class="L21"><a href="/XueShengKaoQing/Index" target="mainfrm" id="m12"><span>学生考勤管理</span></a></li><li class="L21"><a href="/XueShengDaKa/Index" target="mainfrm" id="m13"><span>学生打卡管理</span></a></li><li class="L21"><a href="/StudentRecord/Index" target="mainfrm" id="m14"><span>学生档案管理</span></a></li><li class="L21"><a href="/TeacherRecord/Index" target="mainfrm" id="m15"><span>老师档案管理</span></a></li>
//driver.findElement(By.id("am1"));
driver.findElement(By.xpath("//*a[@id='am1']"));用了这两个方法都不行 一般都是下面的情况,试试下面:
(1)driver.findElement(By.xpath("//*a[@id='am1']/span"))
(2)是不是有框架ifame?
(3)元素是不是在当前的句柄里? 是的,页面运用到了iframe框架,有iframe的话要如何定位??求解 冰雪女王 发表于 2016-8-25 15:26
是的,页面运用到了iframe框架,有iframe的话要如何定位??求解
#切换框架
switch_to_frame("ifame的id值")
#然后再定位操作框架下的元素,如
driver.xxx.click() 冰雪女王 发表于 2016-8-25 15:26
是的,页面运用到了iframe框架,有iframe的话要如何定位??求解
整个页面是有上下两部分组成,下边一部分又分为左右,我现在想实现点击左侧的树,然后去点击转到对应的页面 若尘_51 发表于 2016-8-25 15:39
#切换框架
switch_to_frame("ifame的id值")
#然后再定位操作框架下的元素,如
这样的和其他单纯一个连接的方法有什么差别吗 若尘_51 发表于 2016-8-25 15:39
#切换框架
switch_to_frame("ifame的id值")
#然后再定位操作框架下的元素,如
这样的和其他单纯一个连接的方法有什么差别吗 冰雪女王 发表于 2016-8-25 16:37
整个页面是有上下两部分组成,下边一部分又分为左右,我现在想实现点击左侧的树,然后去点击转到对应的页 ...
把相关页面的HTML截图看看。 冰雪女王 发表于 2016-8-25 16:47
这样的和其他单纯一个连接的方法有什么差别吗
这是selenium的机制,如果有ifame框架的话,必须先进入框架内,才能定位操作到框架内的元素。
建议去看看:Selenium的iframe定位以及窗口的定位。 如果定位的元素上面有iframe
可以尝试以下几种方法
#如果iframe有id属性,可以用
driver.switch_to_frame("id的值")
#如果iframe没有id属性,看你要定位的iframe在页面中是第几个iframe,如果是第一个
driver.switch_to_frame(0)
如果是第二个
driver.switch_to_frame(1)后面依次类推
如果后面你要定位的元素不在当前的iframe下面,则需要跳出当前的iframe
driver.switch_to_default_content()
页:
[1]