首页 文章

意外异常Selenium IE Webdriver

提问于
浏览
0

我在Windows 7 32位操作系统上使用Visual Studio 2010 C#和IEDriverServer.exe Webdriver版本2.42 .

总之,我找到一个元素并单击它,操作完成正常(单击该元素并导致弹出窗口,这不是一个新窗口,关闭)但代码似乎等待一段时间,然后抛出一个错误(WebDriverException)在Click()行上 .

几乎就好像它没有意识到它成功地完成了它的任务 .

try
{
   popup.FindElement(By.ClassName("inbox_mainclose")).Click();
}

catch (WebDriverException)
{
}

我不知道如何调试这个,而在错误之外没有出现任何问题,导致我的应用程序退出 .

我很乐意听到任何遇到过或者遇到过这个问题的人 .

edit for exception information.

OpenQA.Selenium.WebDriverException未处理Message =对URL的远程WebDriver服务器的HTTP请求http:// localhost:51989 / session / e151b5bd-e473-4625-912b-aa2ba5c9e8de / element / c63f25fb-4b36-4de8-8474- aec538b84808 /点击60秒后超时 . Source = WebDriver StackTrace:位于c:\ Projects \ webdriver \ dotnet \ src \ webdriver \ Remote \ HttpCommandExecutor.cs中的OpenQA.Selenium.Remote.HttpCommandExecutor.CreateResponse(WebRequest请求):OpenQA.Selenium.Remote.HttpCommandExecutor中的第150行 . 执行(命令commandToExecute)c:\ Projects \ webdriver \ dotnet \ src \ webdriver \ Remote \ HttpCommandExecutor.cs:第114行,位于c:\ Projects \ webdriver \ dotnet中的OpenQA.Selenium.Remote.DriverServiceCommandExecutor.Execute(命令commandToExecute) \ src \ webdriver \ Remote \ DriverServiceCommandExecutor.cs:第13行,位于c:\ Projects \ webdriver \ dotnet \ src \ webdriver \ Remote \ RemoteWebDriver中的OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute,Dictionary2参数) . cs:OpenQA.Selenium的第852行.Remote.RemoteWebDriver.InternalExecute(String driverCommandToExecute,Dictionary2参数)位于c:\ Projects \ webdriver \ dotnet \ src \ webdriver \ Remote \ RemoteWebDriver.cs:第745行OpenQA.Selenium . Remote.RemoteWebElement.Execute(String commandToExecute, C:\ Projects \ webdriver \ dotnet \ src \ webdriver \ Remote \ RemoteWebElement.cs中的字典`2参数):在c:\ Projects \ webdriver \ dotnet \ src中的OpenQA.Selenium.Remote.RemoteWebElement.Click()中的第810行\ webdriver \ Remote \ RemoteWebElement.cs:site_test.Form1.myClick(IWebElement webel)中的第336行,位于C:\ Users \ eltegs \ Documents \ Visual Studio 2010 \ Projects \ site_test \ site_test \ Form1.cs:site_test中的第42行 . Form1 . <> c__DisplayClass1.b__0()位于C:\ Users \ eltegs \ Documents \ Visual Studio 2010 \ Projects \ site_test \ site_test \ Form1.cs:系统中System.Threading.ThreadHelper.ThreadStart_Context(对象状态)的第240行 . System.Threading.ThreadHelper.ThreadStart()中的Threading.ExecutionContext.Run(ExecutionContext executionContext,ContextCallback回调,Object状态)InnerException:System.Net.WebException Message =操作已超时Source = System StackTrace:at System.Net.HttpWebRequest .GetResponse()在c:\ Projects \ webdriver中的OpenQA.Selenium.Remote.HttpCommandExecutor.CreateResponse(WebRequest请求) \ dotnet \ src \ webdriver \ Remote \ HttpCommandExecutor.cs:第142行InnerException:

1 回答

  • 1

    经过对网络的进一步研究后,我发现这也是其他网络驱动程序中的一个问题,包括chrome和firefox,并且已经存在了18个月没有被修复 .

    我的解决方案是获取对popup元素的(“inbox_mainclose”)子元素的引用,将其传递给另一个线程并在那里执行单击 .

    这会导致新线程等待请求超时,并且我的主线程继续其工作 .

    我写这个作为答案,因为问题出在webdriver外部库中 .

相关问题