2

Selenium 2.0 Web ドライバーを使用してページにログインしようとしています。次のコードは Firefox の Web ドライバーで問題なく動作し、フィールドを見つけて入力し、ボタンをクリックします。

driver.FindElement(By.Id("UserName")).SendKeys("name"); 
driver.FindElement(By.Id("Password")).SendKeys("test");
driver.FindElement(By.Id("btnLogin")).Click();

ただし、インターネット エクスプローラーの webdriver を使用しようとすると、id == UserName の要素が見つからないと表示されます。By.Name と By.Xpath を有効な入力で使用しようとしましたが、要素が見つからないという同じエラーが表示されます。私は IE 9 を使用しているので、互換性の問題である可能性があることは承知していますが、既知の問題があるという投稿や情報が見つからないようです。

他の誰かが同じ問題を経験しているかどうか、または私が正しく行っていないことが問題の原因であるかどうかを確認したかっただけです。また、これは C# .NET プロジェクトです。

- 編集 -

どうやら IE9 の問題で、9 を削除して 8 に戻したところ、テストは機能しました。誰かがこれがなぜ起こるのか、または回避策があるかどうかを知りたいと思っています。

4

2 に答える 2

2

Selenium の現在のリリース (2.0b2) は IE9 をサポートしていませんが、IE9 と Firefox 4 の両方をサポートする 2.0b3 が間もなくリリースされる予定です。

于 2011-03-19T00:11:45.207 に答える
0

この回答は、IE9 で「クリック」が発生する問題が発生している場合にも関連する可能性があります。

これを回避するには、ページ上の別の要素に .Click() を送信して、リンクをクリックしようとする前にブラウザーがフォーカスを取得するようにします。たとえば、親です。

driver.FindElement(By.Id("Logout")).FindElement(By.XPath("..")).Click();
driver.FindElement(By.Id("Logout")).Click();
于 2012-01-19T18:31:48.920 に答える