2

SendKeys の時点で表示されるテキスト フィールドにこの問題があります。IEDriverServer.exe と C# を使用しています。

問題を再現する方法は次のとおりです。

問題のテキスト フィールドはウィンドウに表示されますが、表示するには下にスクロールする必要があります。下にスクロールするには、次のようなコードを使用して要素をクリックします。

var element = driver.FindElement(By.Xpath("…"));
element.Click();

これにより、ウィンドウが下にスクロールされ、テキスト フィールドが表示されます。

しかし、現在表示されているウィンドウにテキストを送信しようとすると:

element.SendKeys("blah");

私は例外を受け取ります:

When_applicant_enters_application.Should_be_instantly_approved_on_external が例外をスローしました: OpenQA.Selenium.ElementNotVisibleException: 要素が表示されません

この問題を修正または回避するにはどうすればよいですか?

Selenium バージョン: 2.32.1 OS: Windows 7 ブラウザー: IE ブラウザー バージョン: 9.0.15

4

1 に答える 1

1

私は問題を示すコードを書き、それを Selenium 技術サポート ボランティアに提出しました。

完全な議論はhttp://code.google.com/p/selenium/issues/detail?id=5620にあります が、持ち帰りは次のとおりです。

// Doesn't work
// driver = new InternetExplorerDriver();
// driver.Navigate().GoToUrl(@"D:\CGY\selenium\Bug5620\Bug5620\Bug5620.htm");

// Works
// driver = new FirefoxDriver();
// driver.Navigate().GoToUrl(@"D:\CGY\selenium\Bug5620\Bug5620\Bug5620.htm");

// Works
driver = new InternetExplorerDriver();
driver.Navigate().GoToUrl(@"http://localhost:8080/Bug5620/"); // Hosted on Tomcat

そのため、IE、IE セキュリティ設定、Visual Studio ローカル サーバー、IE ドライバーに関連する問題が発生する可能性があります。これはコードの問題ではないかもしれませんが、他の人が明らかに問題に遭遇しているため、文書化する必要があるものです。

問題の正確な場所はわかりませんが、現時点では Firefox ドライバーを使用する回避策があります。

助けてくれてありがとう、ジム。問題に対処するより良い方法を見つけた場合は、他の人のためにここに回答を追加してください.

于 2013-05-10T18:13:34.023 に答える