【问题标题】:WebDriverWait Exception only thrown in Debug Mode in Visual Studio 2015WebDriverWait 异常仅在 Visual Studio 2015 的调试模式下引发
【发布时间】:2017-02-20 10:07:31
【问题描述】:

我想知道是否有其他人遇到过类似的问题或有使用 WebDriverWait 的经验?

如果他们知道为什么我得到一个 NoSuchElementException 似乎只在调试模式下抛出。在正常运行时运行测试时,我没有收到此错误。

我也可以单击继续并跳过异常。

【问题讨论】:

    标签: c# visual-studio selenium exception selenium-webdriver


    【解决方案1】:

    我相信这是 Visual Studio 调试模式的一个怪癖。基本上在调试模式下,即使在 try/catch 中适当地处理异常,有时也会将其视为中断。

    请记住,当您在 WebDriver 中将 func 传递给 Until() 时,该 func 会在 try 内部执行。 VS 可能会在该方法中遇到(已处理的)异常,这就是为什么您在正常运行期间看不到它的原因。

    请参阅here 了解更多信息。

    【讨论】:

      【解决方案2】:

      这是一种解决方法,例如,如果您要查找元素:

      wait.Until(driver => driver.FindElement(
          By.CssSelector(".cssClass"))
      );
      

      你可以这样做:

      wait.Until(driver => driver.FindElements(
          By.CssSelector(".cssClass")).FirstOrDefault()
      );
      

      它适用于发布和调试环境。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-06
        • 2015-03-20
        • 1970-01-01
        • 2015-04-30
        相关资源
        最近更新 更多