Как работать с фреймами в Selenium WebDriver
H Y R Tutorials
0:00 / 0:00
Как работать с фреймами в Selenium WebDriver
75 034 просмотра · 6 лет назад
H Y R Tutorials
74,4 тыс. подписчиков
75 034 просмотра · 6 лет назад
В этом видео я показал, как работать с фреймами в Selenium WebDriver.
Фреймы — это устаревший способ построения макета сайта из нескольких документов на одном домене. Вряд ли вы будете работать с ними, если только не используете веб-приложение, созданное до HTML5. iframe позволяют вставлять документ с совершенно другого домена и до сих пор широко используются.
Для взаимодействия с любым элементом управления внутри фрейма нам сначала нужно переключиться на фрейм, аналогично тому, как мы переключаем окна. WebDriver предлагает три способа переключения на фрейм:
1) Использование индекса
2) Использование имени или ID
3) Использование WebElement
----------- Использование индекса: -----------------
Можно использовать индекс фрейма для переключения на него, например, как это можно сделать с помощью window.frames в JavaScript.
Здесь индекс начинается с 0 (нуля)
Пример:
// Переключение на второй фрейм
driver.switchTo().frame(1);
----------- Использование имени или ID -----------------
Если ваш фрейм или iframe имеет атрибут id или name, его можно использовать вместо этого. Если имя или ID не уникальны на странице, то будет переключено на первый найденный.
Пример:
// Использование ID
driver.switchTo().frame("testframe");
// Или использование имени вместо этого
driver.switchTo().frame("frm1");
// Теперь мы можем нажать кнопку
driver.findElement(By.tagName("button")).click();
----------- Использование WebElement -----------------
Переключение с помощью WebElement — наиболее гибкий вариант. Вы можете найти фрейм, используя предпочитаемый селектор, и переключиться на него.
Пример:
//Сохранение веб-элемента
WebElement iframe = driver.findElement(By.xpath("//h1[.='Frame1']/following-sibling::iframe"));
//Переключение на фрейм
driver.switchTo().frame(iframe);
//Теперь можно нажать кнопку
driver.findElement(By.tagName("button")).click();
-------------- Выход из фрейма -----------------------
Чтобы выйти из iframe или набора фреймов, вернитесь к содержимому по умолчанию следующим образом:
Пример:
// Возврат на верхний уровень
driver.switchTo().defaultContent();
--------------- Переход к родительскому фрейму -----------------
Когда вы находитесь во вложенных фреймах и хотите вернуться к родительскому фрейму всех дочерних фреймов, мы используем метод parentframe.
Пример:
driver.switchTo().frame("testframe1");
driver.switchTo().frame("testChildFrame1");
driver.switchTo().frame("testChildFrame11");
//Возврат к родительскому фрейму
driver.switchTo.parentFrame();
==============================================
************* Посмотрите другие мои плейлисты *************
=============================================
Плейлист видео по программированию на Java: 👇
🔗 https://bit.ly/3keRJGa
Плейлист видео по Selenium WebDriver с Java: 👇
🔗 https://bit.ly/2FyKvxj
Плейлист видео с вопросами для собеседования по Selenium: 👇
🔗 https://bit.ly/3matUB3
Плейлист видео по автоматизации Windows с помощью FlaUI: 👇
🔗 https://bit.ly/33CG4dB
CSS-селекторы Плейлист видео: 👇
🔗 https://bit.ly/2Rn0IbD
Плейлист видео по XPath: 👇
🔗 https://bit.ly/2RlLdkw
Плейлист видео по Javascript Executor: 👇
🔗 https://bit.ly/2FhNXwS
Плейлист видео по Apache POI: 👇
🔗 https://bit.ly/2RrngrH
Плейлист видео по Maven: 👇
🔗 https://bit.ly/2DYfYZE
Как исправить ошибки Eclipse: 👇
🔗 https://bit.ly/3ipvNYf
=============================================
===============================================
Свяжитесь с нами @
🔗 Веб-сайт - www.hyrtutorials.com
🔗 Facebook - www.facebook.com/HYRTutorials
🔗 LinkedIn - www.linkedin.com/company/hyrtutorials
🔗 Twitter - www.twitter.com/Hyrtutorials
=============================================
===============================================
🙏 Пожалуйста, подпишитесь🔔, чтобы начать обучение БЕСПЛАТНО прямо сейчас. Также помогите своим друзьям учиться лучшему, порекомендовав этот канал.
#webAutomation #selenium #frames #hyrtutorials