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



В своем распоряжении Selenium имеет большое количество методов, которые мы можем использовать. Здесь будут размещены почти все из них. Но, как показывает практика, пользоваться вы будете малой их частью.  Про одни методы вы должны просто знать, что они существуют, про другие методы вам, скорее всего, даже вспоминать не придется, а какие-то методы очень полезны и мы порешаем задачки с их помощью, чтобы лучше закрепить их в памяти.

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

Далее, browser — это ссылка на конкретный экземпляр webdriver.Chrome(). Например:

with webdriver.Chrome(options=options_chrome) as browser:

    …

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

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

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

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

browser.get_screenshot_as_file(«../file_name.png») — Сохраняет скриншот страницы в файл по указанному пути. Возвращает 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.get(«https://mob25.com/») — Открывает указанный URL в браузере.

browser.quit() — Закрывает все вкладки и окна, завершает процесс драйвера, освобождает ресурсы.

browser.close() — Закрывает только текущую вкладку.

Исполнение JavaScript

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

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

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

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

Поиск элементов

browser.find_element(By.ID, ‘example_id’) — Возвращает первый найденный элемент по заданному локатору.

browser.find_elements(By.ID, ‘example_id’) — Возвращает список всех элементов, соответствующих локатору.

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

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 в рамках текущего сеанса;

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

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

browser.WebDriverWait(driver, 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() — Отправляет форму, в которой находится элемент.

Фреймы

browser.switch_to.frame(«frame_name») — Переключает фокус на указанный фрейм.

browser.switch_to.default_content() — Возвращает фокус на основное содержимое страницы, выходя из фрейма.

JavaScript Alerts

browser.switch_to.alert — Переключает фокус на всплывающее окно JavaScript.



Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: