selenium webdriver c#奇怪的行为

时间:2015-12-23 11:46:05

标签: c# selenium exception selenium-webdriver

我正在使用Selenium Web Driver,并在尝试在Web浏览器中单击适当的元素时遇到以下异常:Unable to locate element。 XPath是100%正确的。 奇怪的是它在以下情况下正常工作:

  • 在调试模式下。

  • 在出现异常时点击VS中的Continue

  • 当我在屏幕上手动移动鼠标时。

如果有任何帮助,我将不胜感激。

编辑:Thread.Sleep没有帮助。我想在网络日历中点击减少年份按钮。它第一次工作,但第二次冻结。但目标仍然存在。所以我不明白它是如何不可见的。

2 个答案:

答案 0 :(得分:1)

驱动程序正在尝试在加载元素之前找到它。在点击之前尝试等待它。

public boolean shareDigit(int a, int b) {
      boolean answer = false;
      int left = a/10;
      int right = a % 10;
      if(Arrays.asList(b).contains(left) ||Arrays.asList(b).contains(right)){
          answer = true;
      }
      return answer;
}

答案 1 :(得分:0)

您可以尝试一些事项:

按ID而不是xpath尝试选择器。也许正在渲染新元素并使xpath找不到元素。

2 - 实现重试模式

3次使用线程休眠以使页面完全呈现。