Switch to frame Version 13 (Java)

Action group: Browsers


Description 

The action switches the control focus on the currently active page to the specified frame. A frame is a separate, complete HTML document that, together with other HTML documents, can be displayed in a browser window. Frames can also be nested within a frame, and frames can also be nested within frames. Frames divide a web page into separate minicomics on the same screen, which are independent of each other. Each window can have its own address.

Web elements that are inside a frame located on a web page are isolated from elements on the page itself and elements inside other frames on the page. Elements within a frame are not available to be manipulated by actions until you switch to that frame.

For a deeper understanding of the structure of frames and the principles of their construction, read the information on the links below:

More on frames: 

https://osipenkov.ru/iframe-tracking-gtm/

https://ru.wikipedia.org/wiki/%D0%A4%D1%80%D0%B5%D0%B9%D0%BC_(HTML)

https://www.tutorialspoint.com/html/html_frames.htm

An example of a robot scheme when switching between frames: Frames (1).robin-source

Technically, the action moves the control focus through the frame structure. This is done by specifying the target frame to move to and the search area of that frame.

Action icon 

Settings of parameters

Свойство

Описание

Тип

Пример заполнения

Обязательность 

заполнения поля

Параметры

Контекст

Контекст действия для работы с браузером.

Robin.Selenium

Контекст браузера

Да

Элемент

Фрейм, как элемент для взаимодействия

Robin.WebElement

/html/body/div[5]/div[4]/div/div

Нет

Имя

Имя фрейма

Robin.String

iframeResult

Нет

Индекс

Индекс фрейма. Нумерация начинается с 0.

Robin.Numeric

1

Нет

Область поиска фрейма

Область поиска фрейма. Доступно 3 варианта: текущий фрейм - поиск в рамках текущего фрейма; родительский фрейм - поиск в рамках родительского фрейма; вся страница - поиск в рамках всей страницы.

Robin.String

Родительский фрейм

Нет

Special conditions of use

Browser page with the developer console open:


As part of the example of filling out the "Frame search area" field, consider a site with frames: https://www.tutorialspoint.com/html/html_frames.htm , as well as the robot scheme Frames (1).robin-source

An example of using an action using the "Index" parameter and "Frame search area" parameter options:

Task 1

Implement actions using the "Index" parameter and "Frame search area" parameter options.

  1. The Parent frame option - we will search in a frame that is a level higher than the current focus (frame), or when the focus is on the main page. There are 3 frames on the site (you can see them using the developer console). To switch to the third frame, let's fill in the parameters: 


 

The frame (the one switched to) contains two frames.

2. The Current frame option - search for a frame inside the current frame. Let's switch to the frame with the text “This is main page and content from any link will be displayed here”. This is the second frame inside the current frame. Let's specify the action parameters:

 
 

Next, use the "Get Text" action to get the text from the frame (see attached robot scheme).

3. The Entire page option -  let's switch the focus from the frame to the main page. To do this, specify the "Entire page" option and the context of the open browser. Leave the other parameters empty. 

Let's run the "Get Text" action from the main page (see attached robot scheme). 

Task 2

Go to website with a frame https://www.w3schools.com/css/tryit.asp?filename=trycss_default, switch to it for further work with it and get the text from the "My First CSS Example" frame.

Implement the action using the "Name", "Element" parameters and "Frame search area" parameter option.

Solution

Use the "Open browser", "Switch to frame", "Get text" actions.

Implementation

  1. Assemble a robot scheme with the actions.
  2. Set the "Open browser" action parameters.

  3. Set the "Switch to frame" action parameters.
  4. Set the "Get text" action parameters. In the "Element" field specify the element from which you want to get the text. More about creating elements in section: Create Web-elements

  5. Click "Start" in the top panel.

Result

The program robot completed successfully.


In this case, if you disable the "Switch to frame" action, the item will not be found because the item is searched for in the current document, but the item itself is in a nested document.