我如何等待特定帧加载?我正在使用selenium webdriver 2.24

cc_*_*uuB 11 webdriver frames

我使用webdriver支持的selenium等待加载特定的帧.因为在某些情况下切换到特定帧失败,因为帧没有加载.我使用的代码是

selenium.waitForFrameToLoad(frameJCLeft, strTimeOut);
driver.switchTo().defaultContent();
driver.switchTo().frame(frameJCLeft);
Run Code Online (Sandbox Code Playgroud)

请告诉我是否有方法,因为我打算取消selenium支持的webdriver,只使用webdriver api

Man*_*dan 32

您可以使用Web Driver Wait and Expected Condition类来实现此目的.

试试这个代码.

  WebDriverWait wait = new WebDriverWait(driver,10);
  wait.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt(frameName);
Run Code Online (Sandbox Code Playgroud)

上面的代码将等待一个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)