📝 Задания: вопросы самопроверки

← К оглавлению урока

Вопросы составлены на основе экспресс-опросов из лекции Summary session 5. Ответьте устно или письменно перед тем, как заглянуть в решения.

Блок 1: Alert

Вопрос 1.1

Что такое Alert в контексте Selenium? Почему обычный find_element не может с ним работать?

Вопрос 1.2

Напишите код, который:

  1. Переключается на Alert
  2. Получает и выводит его текст
  3. Принимает Alert (нажимает OK)

Вопрос 1.3

Чем отличается alert.accept() от alert.dismiss()? Для каких типов диалогов применяется каждый метод?

Вопрос 1.4

Как правильно ввести текст в prompt()-диалог? Напишите пример кода.

Блок 2: Вкладки и окна

Вопрос 2.1

Как осуществить переключение между вкладками браузера в Selenium? Опишите порядок шагов.

Вопрос 2.2

Что возвращает driver.window_handles? Что возвращает driver.current_window_handle?

Вопрос 2.3

Что произойдёт, если вызвать driver.close() и не переключиться на другую вкладку? Какую ошибку получим при следующем обращении к драйверу?

Блок 3: ActionChains

Вопрос 3.1

Как работает метод drag_and_drop() в Selenium? Что означают параметры source и target?

Вопрос 3.2

Напишите код для hover (наведения курсора) на элемент с id="menu" и последующего клика по подменю с id="item-1".

Вопрос 3.3

Обязательно ли вызывать .perform() в конце цепочки ActionChains? Что произойдёт, если его не вызвать?

Блок 4: iframe

Вопрос 4.1

Почему Selenium не может найти элементы внутри iframe без переключения контекста? Как переключиться в iframe?

Вопрос 4.2

Как вернуться из iframe в основной контекст страницы? Как перейти на уровень выше при вложенных iframe?

Блок 5: Загрузка файла

Вопрос 5.1

Как загрузить файл в Selenium? Какое требование к пути к файлу? Почему нельзя использовать относительный путь?

Вопрос 5.2

Работает ли send_keys(path) для любого кнопки «Загрузить файл» на странице? Какое ограничение есть у этого метода?

Готовы проверить ответы? → Смотреть решения