12

特定のフレームが読み込まれるのを待つために、webdriver でサポートされたセレンを使用しました。フレームがロードされていないために、特定のフレームへの切り替えが失敗する場合があるためです。私が使用するコードは

selenium.waitForFrameToLoad(frameJCLeft, strTimeOut);
driver.switchTo().defaultContent();
driver.switchTo().frame(frameJCLeft);

セレンでバックアップされたWebドライバーを排除し、WebドライバーAPIのみを使用することを計画しているため、方法があれば教えてください

4

2 に答える 2

35

これを実現するには、Web Driver Wait および Expected Condition クラスを使用できます。

このコードを試してください。

  WebDriverWait wait = new WebDriverWait(driver,10);
  wait.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt(frameName);

上記のコードは、given frame up to 10 seconds. フレームが使用可能な場合は、指定されたフレームに切り替わります。それ以外の場合は、 をスローしTimeoutExceptionます。

制限時間は、アプリケーションとユーザーの希望によって異なります。

詳細については http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/support/ui/ExpectedConditions.html#frameToBeAvailableAndSwitchToIt(java.lang.String)

于 2013-01-25T04:49:31.840 に答える
-1

私はSelenium 2の使用に切り替え、「WebDriverがサポートするselenium 1.0のもの」の代わりにRemoteWebDriverを使用します。次に、WebDriver.TargetLocatorをいじってみました。

于 2013-01-25T04:15:26.347 に答える