Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Переключиться на фрейм

...

Версия 13 (Java)

Группа действий: БраузерыImage Removed

...

Описание 

Действие выполняет переключение фокуса управления управления  на заданный фрейм на текущей странице. Переключение на фрейм используется в тех случаях, когда необходимо обратиться к веб-элементам, расположенным внутри фрейма.Фреймотдельный текущей странице на заданный фрейм . Фрейм - отдельный, законченный HTML-документ, который вместе с другими HTML-документами может быть отображён в окне браузера. В настройках действия поля "Элемент", "Имя" и "Индекс" есть 3 разных способа обратиться к нужному фрейму. Если заполнены все три поля, то робот по порядку обходит параметры и пытается по ним искать. Если одна из проверок по порядку вернет ошибку, то действие завершит работу с ошибкой. Соответственно, если имя существует, а веб-элемент нет, но все равно указан, то действие отобразит ошибку. Внутрь фрейма могут быть также вложены фреймы, и в них тоже могут быть вложены фреймы. Фреймы разбивают веб-страницу на отдельные миникадры, расположенные на одном экране, которые являются независимыми друг от друга. Каждое окно может иметь собственный адрес.

Web-элементы, которые находятся внутри фрейма, расположенного на web-странице, изолированы от элементов, находящихся на самой странице и элементов внутри других фреймов страницы. Элементы внутри фрейма будут недоступны для работы с ними с помощью действий до тех пор, пока не будет выполнено переключение на этот фрейм.

Для более глубокого понимания структуры фреймов и принципов их построения, рекомендуем ознакомиться с информацией по ссылкам ниже:

Информация

Подробнее о фреймах: 

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

Пример схемы робота при переключении между фреймами: Frames (1).robin-source

Действие "Переключиться на фрейм" состоит из параметров: 

...

Технически, действие перемещает фокус управления по структуре фреймов. Для этого необходимо указать целевой фрейм, в который нужно перейти, и область поиска этого фрейма.

Иконка действия

Image Added

Параметры и их настройки

Свойство

Описание

Тип

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

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

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

Параметры

Контекст

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

...

Robin.Selenium

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

Да

Элемент

Фрейм,

...

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

...

Поле "Имя" - необходимо указать имя фрейма. Например: Image Removed. Если имени у элемента нет, то необходимо захватить его отдельно и указать в поле "Элемент". 

Поле "Индекс" - если несколько фреймов в текущем фрейме, то обращение к ним возможно по индексам. Фреймы нумеруются по порядку от верха страницы браузера. 

...

Robin.WebElement

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

Нет

Имя

Имя фрейма

Robin.String

iframeResult

Нет

Индекс

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

Robin.Numeric

1

Нет

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

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

Доступно 3 варианта:

текущий

...

фрейм - поиск в рамках текущего фрейма

...

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

...

в рамках родительского фрейма

вся страница - поиск в рамках всей страницы

...

Robin.String

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

Нет

Особые условия использования 

  • Из необязательных параметров, можно выбрать и заполнить один;
  • При работе с элементами страницы элементы фрейма недоступны. Для того, чтобы обратиться к элементам фрейма, на него необходимо переключиться;
  • При работе с элементами фрейма  элементы страницы недоступны. Для того, чтобы продолжить работу с элементами страницы, необходимо переключиться с фрейма обратно на страницу;
  • Повторно перейти на текущую вкладку возможно также с помощью действия "Переключиться на вкладку";
  • Чтобы определить количество фреймов на странице и их атрибуты, необходимо использовать консоль разработчика. Консоль открывается нажатием клавиши F12 в браузере, где отображается iframe (если он имеется на странице).

Image Added
Страница браузера с открытой консолью разработчика.
Image Added
В рамках примера заполнения поля "Область поиска фрейма" рассмотрим сайт

...

с фреймамиhttps://www.tutorialspoint.com/html/html_frames.htm , а также схему робота Frames (1).robin-source.

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

Задача 1

Реализовать действия с использованием параметров "Индекс" и опций параметра "Область поиска".

  1. Опция Родительский фрейм -
  2. ищем фрейм
  3. будем искать во фрейме находящемся на уровень выше относительно текущего фокуса (фрейма), либо когда фокус находится на основной странице. На сайте
  4. есть
  5. 3 фрейма
  6. . Например, для
  7. (можно посмотреть с помощью консоли разработчика). Для переключения на третий фрейм
  8. необходимо заполнить
  9. заполним параметры
  10. следующим образом
    • Проставляем в поле "Индекс" значение 2,

...

    • (нумерация фреймов начинается с нуля

...

    • );
    • В поле "Область поиска фрейма" указываем значение "Родительский фрейм"

...

    • ;
    • В поле "Контекст"

...

    • указываем контекст открытого браузера

...

    • ;
    • в поле "Область поиска фрейма" укажем значение "Родительский фрейм" (потому что сейчас фокус находится в основной странице).
       Image Modified

...

    • Фрейм (на который переключились)

...

    • содержит в

...

    • себе два фрейма.

...


    • Image Modified

2. Опция Текущий фрейм - ищем фрейм в

...

внутри текущего фрейма.

...

Переключимся на фрейм с текстом "This is main page and content from any link will be displayed here"

...

. Это второй фрейм внутри текущего фрейма. Укажем параметры действия:

    • в поле "Контекст"

...

    • укажем контекст открытого браузера

...

    • ;
    • в поле "Индекс"

...

    • укажем значение 1 (

...

    • нумерация фреймов начинается с 0)

...

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

...

    • укажем значение "Текущий фрейм"  (

...

    • ищем дочерний фрейм в текущем фрейм).
      Image Added

      Image Added
      Далее, с помощью действие "Получить текст"

...

    • получим текст из фрейма (см. приложенную к описанию схему робота).

...

...

3. Опция Вся страница

...

выполним переключение фокуса из фрейма на основную страницу

...

. Для этого указываем опцию "Вся страница" и контекст открытого браузера. Остальные параметры оставьте пустыми. 
Image Added
Выполним действие "Получить текст" из основной страницы (см. приложенную к описанию схему робота).

...


Image Removed

Image Modified

Настройки

...

Свойство

...

Описание

...

Тип

...

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

...

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

...

Параметры

...

Контекст

...

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

...

Robin.Selenium

...

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

...

Да

...

Элемент

...

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

...

Robin.WebElement

...

Нет

...

Имя

...

Имя фрейма

...

Robin.String

...

Нет

...

Индекс

...

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

...

Robin.Numeric

...

Нет

...

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

...

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

...

Robin.String

...

Нет

Задача 2

Зайти на

Особые условия использования 

При работе с элементами страницы элементы фрейма недоступны. Для того, чтобы обратиться к элементам фрейма, на него необходимо переключиться.

При работе с элементами фрейма  элементы страницы недоступны. Для того, чтобы продолжить работу с элементами страницы, необходимо переключиться с фрейма обратно на страницу.

Повторно перейти на текущую вкладку возможно также с помощью действия "Переключиться на вкладку".

При нажатии на кнопку F12 в любом браузере будет открыта консоль разработчика, где отображается iframe (если он имеется на странице). Image Removed

Страница браузера с открытой консолью разработчика: 

Image Removed

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

Задача: зайти на сайт с фреймом https://www.w3schools.com/css/tryit.asp?filename=trycss_default, переключиться на него для дальнейшей работы с ним и получить текст из фрейма "My First CSS Example".  
Image Modified
Реализовать действие с использованием параметров "Имя", "Элемент" и опций "Область поиска".

Решение

Воспользоваться Решение: воспользоваться действиями "Открыть браузер", "Переключиться на фрейм", "Получить текст". 

Реализация

...

  1. Собрать робота, состоящего из действий:
    Image Modified
  2. Настроить параметры для действия "Открыть браузер". 
  3. Image Removed
  4. Настроить параметр для действия "Переключиться на фрейм". 
    Image Modified
  5. Настроить параметры для действия "Получить текст". В поле "Элемент" необходимо указать элемент из которого необходимо получить текст. Подробнее о создании элементов в разделе: Создание Web-элементов
    Image Modified
  6. Нажать на кнопку "Старт" в верхней панели. 

Результат

...

Программный робот отработал успешно. 
Image Modified
В данном случае, если отключить действие "Переключиться на фрейм", то элемент не будет найден,  так как поиск элемента осуществляется в текущем документе, а сам элемент находится во вложенном.
  Image Modified