5

テストをSeleniumIDEで記録しました。FirefoxとChromeで正常に動作します。IE 9で実行すると、このエラーが発生し続けます。私はコーディングに不慣れで、これに対する答えを見つけるのに苦労しています。誰かが私に何が起こっているのか/なぜそうなるのかを素人の言葉で説明できれば、私はそれをいただければ幸いです。

org.openqa.selenium.NoSuchElementException: Unable to find element with css selector == BODY (WARNING: The server did not provide any stacktrace information)

Javaコード:

assertTrue(driver.findElement(By.cssSelector("BODY")).getText().matches("^[\\s\\S]*Final[\\s\\S]*$"));
4

3 に答える 3

0

呼び出しの前に driver.getPageSource() を出力し、現在のページにある html が期待どおりかどうかを確認することをお勧めします。

予想と一致する場合は、一致するすべてのタグのテキスト コンテンツを出力し、By.cssSelector("BODY")それらのいずれかに予想どおりのテキストが含まれているかどうかを確認します。

これにより、エラーの場所が絞り込まれます。この要素を見つける別の方法を見つける必要がある場合があります。

于 2012-11-28T20:46:16.113 に答える
0

内部的に By は XPath を使用し、Internet Explorer では大文字と小文字が区別されます。

使ってみて

assertTrue(driver.findElement(By.cssSelector("body")).getText().matches("^[\\s\\S]*Final[\\s\\S]*$"));

それ以外の

assertTrue(driver.findElement(By.cssSelector("BODY")).getText().matches("^[\\s\\S]*Final[\\s\\S]

*$"));

私はそれがあなたのために働くべきだと信じています。

于 2013-11-06T23:48:05.240 に答える