I used the webdriver backed selenium to wait for a specific frame to load. since in certain cases the switching to a specific frame fails because the frame hasn\'t loaded. T
I would switch to using Selenium 2, and use RemoteWebDriver instead of "WebDriver backed selenium 1.0 stuff". Then, I would play around with WebDriver.TargetLocator .
You can use Web Driver Wait and Expected Condition class to achieve this.
Try this code.
WebDriverWait wait = new WebDriverWait(driver,10);
wait.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt(frameName);
The above code will wait for a given frame up to 10 seconds
. If the frame is available then it switches to the given frame. Otherwise, it throws a TimeoutException
.
The time limit depends upon the application and user wish.
For more info http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/support/ui/ExpectedConditions.html#frameToBeAvailableAndSwitchToIt(java.lang.String)