How to switch between frames in Selenium WebDriver using Java

java, selenium-webdriver

Solution

WebDriver's `driver.switchTo().frame()` method takes one of the three possible arguments:

A number.

Select a frame by its (zero-based) index. That is, if a page has three frames, the first frame would be at index `0`, the second at index `1` and the third at index `2`. Once the frame has been selected, all subsequent calls on the WebDriver interface are made to that frame.

A name or ID.

Select a frame by its name or ID. Frames located by matching name attributes are always given precedence over those matched by ID.

A previously found `WebElement`.

Select a frame using its previously located WebElement.

Get the frame by it's id/name or locate it by `driver.findElement()` and you'll be good.

Problem

I am using java with WebDriver.I have to switch between two frames. I have recorded the test case in selenium IDE and in that I got the values as selectFrame relative=top select Frame=middle Frame But there is a problem it is not able to recognize the relative=top and middleFrame. How can I solve this problem in Selenium WebDriver with Java?

Original source