我刚刚开始使用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"我到目前为止没有运气。希望其他人在我花费几个小时来解决这个问题之前已经克服了这个问题!?!
答案 0 :(得分:0)
启用"启用非托管代码调试"通过Visual Studio解决了这个问题。