我们目前正在将自动化脚本从Selenium RC迁移到WebDriver。我遇到了WebDriver的一些问题,主要是处理正在测试的网页中的某些内容被更改时抛出的TimeoutExceptions。
例如,我当前正在登录页面,然后单击提交按钮,该按钮会重定向到新页面。调用click()方法的瞬间抛出异常。但是,如果我专注于密码字段并使用SendKeys(Keys.Enter),重定向将毫无问题地工作。
还有其他人遇到过这个吗?由于在调用click方法时抛出异常,因此我无法在之后直接设置任何等待或超时时间。我知道我可以吞下TimeoutException,但肯定有更好的解决方案。
我正在使用Firefox驱动程序。我猜这个问题与页面的来源被改变有关。
以下是例外:
这是点击方法:
public void ClickByName(string name)
{
_driver.FindElement(By.Name(name)).Click();
}
答案 0 :(得分:0)
我在登录页面后放入一个sleep语句,然后检查页面错误,这解决了问题,偶尔也会抛出InvalidOperationException。