Selenium RemoteWebDriver按钮单击方法异常超时,即使单击按钮

时间:2016-05-12 13:12:55

标签: c# selenium exception-handling timeout remotewebdriver

我有以下代码来点击按钮。当我调试它时,它会经过Click()行,然后单击该按钮(我可以看到一个新窗口按预期弹出)。然而,它只是坐在那里一分钟,然后返回一个超时异常。它不会转到下一行代码。

此外,这似乎只发生在此按钮上,在该按钮单击后会启动一个新的弹出窗口。页面上的其他按钮似乎没问题。

提前感谢任何见解!

var button = DriverFactory.Instance.FindElement(By.Id("ctl07_Customers_OCS_ListForms_btnAddCustomer"));
button.Click(); // A new pop-up window is opened
// Next line of code - It times out before it can hit the following line
DriverFactory.Instance.SwitchTo().Window(DriverFactory.Instance.WindowHandles.Last());

异常详细信息:

  

OpenQA.Selenium.WebDriverException未被用户代码处理     的HResult = -2146233088     Message =对URL http://localhost:7055/hub/session/5e7fc81a-ed31-4310-9419-f1e5cc0d1b35/element/%7B96a49e56-d619-4765-b0a7-222f69da23bf%7D/click的远程WebDriver服务器的HTTP请求在60秒后超时。     来源=的webdriver     堆栈跟踪:          在OpenQA.Selenium.Remote.HttpCommandExecutor.CreateResponse(WebRequest请求)          在OpenQA.Selenium.Remote.HttpCommandExecutor.Execute(命令commandToExecute)          在OpenQA.Selenium.Firefox.FirefoxDriverCommandExecutor.Execute(命令commandToExecute)          在OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute,Dictionary`2参数)          在OpenQA.Selenium.Remote.RemoteWebElement.Click()          在C:\ Src \ EPSQA \ Regression_Portals \ OCSPortal \ OCSPortalFramework \ Pages \ BankPortal \ ListFormsPage.cs中的OCSPortalFramework.Pages.BankPortal.ListFormsPage.ClickAddCustomer():第25行          位于C:\ Src \ EPSQA \ Regression_Portals \ OCSPortal \ OCSPortalTests \ OCS_146710_Add_Customer.cs:第52行     的InnerException:          的HResult = -2146233079          消息=请求已中止:操作已超时。          来源=系统          堆栈跟踪:               在System.Net.HttpWebRequest.GetResponse()               在OpenQA.Selenium.Remote.HttpCommandExecutor.CreateResponse(WebRequest请求)          InnerException:

1 个答案:

答案 0 :(得分:1)

解决这个问题的方法是:

try {
button.click();
thread.sleep(300);
}
catch(Exception e) {
//System.out.println("" +e.getMessage());
}