Selenium没有捕获超时异常

时间:2017-06-02 00:39:08

标签: vb.net selenium selenium-webdriver exception-handling phantomjs

我刚刚开始使用Selenium&到目前为止非常喜欢它,但遇到了一个让我疯狂的问题!无论我做什么,我似乎无法捕捉到#34; OpenQA.Selenium.WebDriverTimeoutException未被用户代码"处理。异常。

我使用的代码是:

   Private Sub WaitForLoad(ByRef driver As PhantomJSDriver, ByVal Timeout As TimeSpan, ByVal FindField As IWebElement)
    Try
        Dim wait As WebDriverWait = New WebDriverWait(driver, Timeout)
        wait.Until(ExpectedConditions.ElementToBeClickable(FindField))
    Catch ex As OpenQA.Selenium.WebDriverTimeoutException
        MessageBox.Show("1")
        Throw New Exception(ex.Message)
    Catch ex As WebDriverException
        MessageBox.Show("2")
        Throw New Exception(ex.Message)
    Catch ex As System.TimeoutException
        MessageBox.Show("3")
        Throw New Exception(ex.Message)
    Catch ex As Exception
        MessageBox.Show("4")
        Throw New Exception(ex.Message)
    End Try
End Sub

我只是在那里有消息框,因为我一直在尝试捕获所有异常类型以检查哪一个实际上会捕获它但是没有。

我正在调用函数,例如

WaitForLoad(driver, WaitTimeout, driver.FindElementByName("search"))

我在SO上看到过类似的其他一些问题,但所有答案都是"添加WebDriverTimeoutException"我到目前为止没有运气。希望其他人在我花费几个小时来解决这个问题之前已经克服了这个问题!?!

1 个答案:

答案 0 :(得分:0)

启用"启用非托管代码调试"通过Visual Studio解决了这个问题。