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