selenium使用过程中遇到的“element not visiable”错误

Posted 在天成象

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selenium使用过程中遇到的“element not visiable”错误相关的知识,希望对你有一定的参考价值。

      今天在做项目的页面自动化时遇到了一个问题,现在把它以及解决方法记录下来。

背景流程:打开一个网页,在页面上字段填了内容,然后点击取消按键1,会跳出一个对话框,对话框里有取消按键2和确定按键2.就是在点击取消按键2时,程序报元素不可见错误。

当时看到这个错误时,我就注意了这个不是元素找不到错误,也就是说我定位到了元素,但是因为某种原因它隐藏了,展示不了。

我的第一个年头就是看看页面上这个对话框是不是放在ifream里,结果发现不是。

不过在这个过程里,我发现这个对话框在点击取消按键1之前是隐藏的,点击了之后才显示。所以其实错误提示很明显了“元素不可见”不就是元素是隐藏的吗?也就是那时候触发对话框显示后还没加载好,代码就开始点击取消按键2了。所以只要加上

if(!can.isDisplayed())
   Thread.sleep(1000);
这段代码就好了。其实之前没想到这个还因为我已经加了driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS)这句话(页面没加载好久等待,最多等10s),看来这句话是只管页面元素加载了,也就是存在了,但是不管元素是不是显示。

以上是关于selenium使用过程中遇到的“element not visiable”错误的主要内容,如果未能解决你的问题,请参考以下文章

python+selenium遇到鼠标悬停不成功可以使用js进行操作

Selenium定位不到指定元素原因之iframe(unable to locate element)

Selenium----select API

selenium-确定找到的element唯一

Python爬虫 用selenium时遇到了问题,如下:

selenium BY定位