Selenium waitForElementPresent在IE11中挂起

时间:2014-03-21 03:38:46

标签: selenium selenium-webdriver internet-explorer-11

我试图通过Selenium Builder的录音来测试一个使用Selenium Grid的网站。一切似乎都适用于Windows和Mac上的Firefox和Chrome,但我在Windows 7 + IE11中测试时收到错误消息。

每当我尝试选择或与元素交互时,我得到:

Exception: Unable to find element on closed window

等待的HTML元素在页面加载后通过jQuery加载并显示在页面上:

<input id="email" name="username" type="email" autofocus="autofocus">

Selenium Builder Step在继续之前等待它出现:

{
  "locator": {
    "type": "id",
    "value": "email"
  },
  "type": "waitForElementPresent"
},

在有类似问题的人的各种帖子中,我已经做了以下尝试和纠正:

  • 确保IE 11中的安全区域完全相同
  • 确保我没有使用任何&#34; FLAKY&#34;任何地方的选项(INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS)

我应该以不同的方式访问元素吗?或者是否有我错过的IE 11设置?

2 个答案:

答案 0 :(得分:1)

根据Selenium IE指南(https://code.google.com/p/selenium/wiki/InternetExplorerDriver),IE 11存在一个已知问题,即安全区域设置正确时也会导致问题。

最佳选择是从IE 11降级到IE 10(How to downgrade from Internet Explorer 11 to Internet Explorer 10?

这解决了这个问题。

答案 1 :(得分:0)

前一段时间,使用Selenium和C#注意到IE的这种奇怪行为(无法记住哪个版本): 第二次单击元素时,整个过程冻结。 我的解决方法是跟踪所有单击的元素,以避免重复单击。 这解决了我在IE中遇到的一些问题。

希望有帮助。