随机(?)ElementNotVisibleException

时间:2013-03-15 20:18:04

标签: java selenium junit selenium-webdriver

我已经看了一些涉及这个主题的其他问题,但我没有在任何地方看到这个特殊问题。我有一个点击Web元素的测试。我尝试通过ID和XPath引用它,并等待它使用wait.until()显示。

有时似乎工作正常,但有时我得到ElementNotVisibleException。 (实际上,由于我添加了wait.until(),我得到了TimeoutException,但是如果我删除它,它会抛出ElementNotVisibleException。)也就是说,我可以运行一次测试,它将是能够单击元素并继续完成。其他时候,我得到例外。问题不在于我是否得到一个例外,问题是有时会得到异常,但其他时候能够引用该元素而没有任何例外。

我没有做过任何我所知道的改变。每次都会快速正确地加载页面。我没有意识到服务器问题。它大约有一半时间抛出异常,而另一半它可以毫无问题地引用元素。

对于底层网站代码而言,这可能比使用Selenium更具问题吗?我手动检查了计算的CSS值,它们似乎表明该元素应该是可见的。

1 个答案:

答案 0 :(得分:-4)

主要问题是加载页面。如果页面加载延迟,则在抛出异常时找不到Web元素。

要解决上述问题,请使用

Thread.sleep(milliseconds); method.