Перейти к содержимому

Как работать с фреймами в 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