报错element not visible
各位大神,如图中显示利用xpath定位 xpath=//*[@id="navMenu"]/div/div/div/div/ul/li/div,xpath=//*[@id="navMenu"]/div/div/div/div/ul/li/div 运行代码,报错element not visible ,那位大神帮忙看一下,怎么修改才能让代码运行的时候不报错了1你使用的xpath的语法好像错了,"/"表示从根节点选取,‘//’表示档中的 节点,而不考虑他们的位置,“@”表示选取当前属性;可以 试一下 xpath=//*[@id="navMenu"and @class="el-submenu"]
2.可以启用IDE录制,录制出来的脚本有xpath的用法
3、w3school 有的xpath用法说明 1.首先确保当前页面id="navMenu"是唯一的。如果有多个需要更换下的xpath。
2.如果是唯一的话,排查下你的xpath路径有木有错。
3.如果没有错的话,一层层排查,看看到那层开始报:element not visible
xpath=//*[@id="navMenu"]/div
xpath=//*[@id="navMenu"]/div/div
......
xpath=//*[@id="navMenu"]/div/div/div/div/ul/li/div
4.可以如2楼所说,使用火狐的工具 selenium IDE脚本录制工具,专门针对该页这几个步骤进行录制,再将录制结果导出来,如图:
若尘_51 发表于 2017-4-12 14:07
1.首先确保当前页面id="navMenu"是唯一的。如果有多个需要更换下的xpath。
2.如果是唯一的话,排查下你的x ...
就是录制的,而且navMenu也是多个的 cui_ 发表于 2017-4-12 14:29
就是录制的,而且navMenu也是多个的
那就不能用id =navMenu,换一个吧,把id =navMenu那个节点的截个图看看。 因为这个定义对元素1也同样适用,而且元素1的位置在前面,所以就会出现element not visible。
解决:使用全路径的xpath(或者是往前定位,直到能区分出元素1和元素2) 若尘_51 发表于 2017-4-12 14:43
那就不能用id =navMenu,换一个吧,把id =navMenu那个节点的截个图看看。
这个是的,五个主菜单都是公用这个ID=navMenu的
页:
[1]