При использовании IE-драйвера с IE9 иногда метод Click выбирает только кнопку, он не будет выполнять действие Click(). Обратите внимание, что это происходит только иногда, поэтому я не думаю, что это проблема. Использование драйвера Firefox с Firefox4 не имеет проблем. У меня также есть проблема, когда элементы тоже не встречаются, но только в IE, а не в Firefox.
if (Driver.FindElement(By.Name("username")) == null) {
//sometimes gets here in IE, never gets here in Firefox
}
Driver.FindElement(By.Name("username")).SendKeys(username);
Driver.FindElement(By.Name("surname")).SendKeys(surname);
Driver.FindElement(By.Name("firstname")).SendKeys(firstname);
string url = Driver.Url;
Driver.FindElement(By.Name("cmd")).Click();
if (Driver.Url == url) {
//if the page didnt change, click the link again
Driver.FindElement(By.Name("cmd")).Click();
}
Я видел подобные вопросы (http://stackoverflow.com/info/4737205/selenium-webdriver-ie-button-issue), но у меня нет динамически генерируемых идентификаторов.