Добавить в корзинуПозвонить
Найти в Дзене

Основные методы Selenium

🔙 Навигация по истории браузера 🔸browser.back() - С помощью этого метода вы можете вернуться на предыдущую страницу, как если бы нажали стрелочку "назад" в браузере. 🔸 browser.forward() - Аналогично предыдущему, но перемещает вперёд по истории браузера. 🔸 browser.refresh() - Этот метод обновляет текущую страницу, как если бы вы нажали кнопку обновления в браузере. 🔍 Пример использования: Эти методы особенно полезны при тестировании веб-приложений, где нужно проверить корректность работы навигации между страницами. 📸 Работа со скриншотами 🔸 browser.get_screenshot_as_file("../file_name.jpg") - Сохраняет скриншот страницы в файл по указанному пути. Возвращает True если всё прошло успешно, и False при ошибках ввода-вывода. 🔸 browser.save_screenshot("file_name.jpg") - Сохраняет скриншот в папке с проектом. 🔸 browser.get_screenshot_as_png() - Возвращает скриншот в виде двоичных данных (binary data), которые можно передать или сохранить в файл в конструкторе with/as; 🔸 browser.get_

🔙 Навигация по истории браузера

🔸browser.back() - С помощью этого метода вы можете вернуться на предыдущую страницу, как если бы нажали стрелочку "назад" в браузере.

🔸 browser.forward() - Аналогично предыдущему, но перемещает вперёд по истории браузера.

🔸 browser.refresh() - Этот метод обновляет текущую страницу, как если бы вы нажали кнопку обновления в браузере.

🔍 Пример использования: Эти методы особенно полезны при тестировании веб-приложений, где нужно проверить корректность работы навигации между страницами.

📸 Работа со скриншотами

🔸 browser.get_screenshot_as_file("../file_name.jpg") - Сохраняет скриншот страницы в файл по указанному пути. Возвращает True если всё прошло успешно, и False при ошибках ввода-вывода.

🔸 browser.save_screenshot("file_name.jpg") - Сохраняет скриншот в папке с проектом.

🔸 browser.get_screenshot_as_png() - Возвращает скриншот в виде двоичных данных (binary data), которые можно передать или сохранить в файл в конструкторе with/as;

🔸 browser.get_screenshot_as_base64() - Возвращает скриншот в виде строки в кодировке Base64. Удобно для встроенных изображений в HTML.

🔸 browser.find_element(By.ID, "this_pic").screenshot('file_name.png') - Возвращает скриншот конкретного элемента.

⚡️ Исполнение JavaScript

🔸 browser.execute_script("script_code") - Выполняет JavaScript код на текущей странице.

🔸browser.execute_async_script("script_code" , *args ) - Асинхронно выполняет JavaScript код. Удобно для работы с AJAX и промисами.

🔧 Пример:

browser.execute_script("window.scrollTo(0, document.body.scrollHeight);") - прокрутка страницы вниз.

⏱️ Время ожидания

🔸 browser.set_page_load_timeout() - Устанавливает таймаут на загрузку страницы. Выбрасывает исключение, если время вышло.

Работа с окном браузера

🔸 browser.get_window_position() - Возвращает словарь с текущей позицией окна браузера ({'x': 10, 'y': 50}).

🔸 browser.maximize_window() - Разворачивает окно на весь экран.

🔸 browser.minimize_window() - Сворачивает окно.

🔸 browser.fullscreen_window() - Переводит окно в полноэкранный режим, как при нажатии F11.

🔸 browser.get_window_size() - Возвращает размер окна в виде словаря ({'width': 945, 'height': 1020}).

🔸 browser.set_window_size(800,600) - Устанавливает новый размер окна.

Работа с cookies

🔸 browser.get_cookies() - Возвращает список всех cookies.

🔸 browser.get_cookie(name_cookie) - Возвращает конкретную cookie по имени.

🔸 browser.add_cookie(cookie_dict) - Добавляет новую cookie к вашему текущему сеансу;

🔸 browser.delete_cookie(name_cookie) - Удаляет cookie по имени.

🔸 browser.delete_all_cookies() - удаляет все файлы cookie в рамках текущего сеанса;

🔐 Важно: Работа с cookies часто необходима для эмуляции авторизованного пользователя или для тестирования функциональности, зависящей от состояния сессии.

Ожидание элементов

🔸 browser.implicitly_wait(10) - Устанавливает неявное ожидание на поиск элементов или выполнение команд.

🔸 WebDriverWait(browser, timeout).until(condition)

⏱️ Рекомендация: Используйте явные ожидания вместо неявных, так как они более гибкие и позволяют точно указать, что именно вы ожидаете.

🖱 Работа с элементами

🔸 element.click() - Симулирует клик по элементу.

🔸 element.send_keys("text") - Вводит текст в текстовое поле. Очень полезно для автоматизации ввода данных.

🔸 element.clear() - Очищает текстовое поле.

🔸 element.is_displayed() - Проверяет, отображается ли элемент на странице.

🔸 element.is_enabled() - Проверяет, доступен ли элемент для взаимодействия (например, не заблокирован).

🔸 element.is_selected() - Проверяет, выбран ли элемент (актуально для радиокнопок и чекбоксов).

🔸 element.get_attribute("attribute") - Возвращает значение указанного атрибута элемента.

🔸 element.text - Возвращает текст элемента.

🔸 element.submit() - Отправляет форму, в которой находится элемент.

Подписывайтесь на мой телеграмм канал - https://t.me/matveev_python