IE9でIEドライバーを使用する場合、Clickメソッドがボタンのみを選択することがあり、Click()のアクションを実行しません。これはたまにしか起こらないので、問題になるのはコードではないと思います。Firefox4でFirefoxドライバーを使用しても問題はありません。また、要素がときどき見つからないという問題もありますが、FirefoxではなくIEでのみ見つかります。
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/questions/4737205/selenium-webdriver-ie-button-issue)を見ましたが、動的に生成されたIDを持っていません。