这是我在第1行收到错误的代码。它不会返回true或false,而是抛出异常“服务器没有响应url:http://test:4444/wd/hub/session/1382359342795/element
在第1行获取错误:
Boolean tInputElement = driver.FindElement(By.Id("locator")).Enabled;
if (tInputElement.ToString() == "True")
{
IWebElement InputElement=driver.FindElement(By.Id("locator"));
InputElement.SendKeys(InputData);
}
请建议我如何避免没有响应错误并捕获objectnotfoundexception。请注意我使用Hub运行此代码。
这就是我的工作方式:
int _TotalTimeToWait = 0;
int TotalTimeToWaitinSecs = 40;
while (_TotalTimeToWait < TotalTimeToWaitinSecs && driver.FindElements(by).Count == 0)
{
Thread.Sleep(1000);
_TotalTimeToWait++;
}
if (_TotalTimeToWait == 0) { driver.FindElement(by).Click(); Thread.Sleep(2000); }
else { throw new ElementNotVisibleException(); }
_TotalTimeToWait = 0;
答案 0 :(得分:0)
据我所知,没有像Enabled for WebElement这样的属性,但它确实有一个IsEnabled()方法,所以试试:
if (driver.FindElement(By.Id("locator")).isEnabled())
{
IWebElement InputElement=driver.FindElement(By.Id("locator"));
InputElement.SendKeys(InputData);
}
或类似的东西:
IWebElement InputElement=driver.FindElement(By.Id("locator"));
if (InputElement != null && InputElement.isEnabled())
{
InputElement.SendKeys(InputData);
}