CoderCastrov logo
CoderCastrov
Питон

Использование Selenium для заполнения веб-форм в Python

Использование Selenium для заполнения веб-форм в Python
просмотров
2 мин чтение
#Питон
Table Of Content

    Привет, мир!

    Сегодня мы собираемся научиться использовать Selenium для автоматического заполнения формы на веб-странице в Python. Если вы раньше не использовали Selenium, я бы порекомендовал вам взглянуть на мою предыдущую статью: Веб-парсинг с использованием Python и Selenium.

    Прежде чем мы начнем, помните, что вам понадобится не только модуль Selenium, но и совместимый веб-драйвер (вы можете узнать, как установить все в связанной выше статье).

    Давайте начнем кодирование:

    Как обычно, мы начинаем с импорта необходимых модулей. Мы также пишем функцию для управления всеми элементами, которые мы собираемся получить со страницы. Эта функция использует класс WebDriverWait для ожидания загрузки объекта на странице и получения его после загрузки.

    Теперь мы можем создать наш браузер, используя веб-драйвер Firefox (не забудьте изменить путь к вашему geckodriver). В этом примере мы будем использовать страницу с учебником о формах HTML от w3schools.

    Первое, что нам нужно сделать при загрузке страницы, это закрыть всплывающее окно с cookie, нажав кнопку "Принять". Для этого мы используем класс, который мы создали на предыдущем шаге, и после получения кнопки в виде переменной нам просто нужно вызвать метод click. Если вам нужно найти ID/Class/Name объекта на странице, вы можете нажать CTRL+Shift+C (или CTRL+Shift+J) и проверить элемент, который вы хотите найти:

    Теперь мы можем приступить к работе с формой:

    В этой части кода нам нужно сделать 3 вещи:

    • Получить объекты формы на странице (имя и фамилию)
    • Очистить формы и ввести наши данные
    • Нажать кнопку отправки формы.

    Для этого мы используем наш класс ожидания и возврата, ищем ID наших объектов на странице (fname для формы имени и lname для формы фамилии). Чтобы найти ID, вы можете использовать ту же технику, которую мы использовали для поиска кнопки cookie.

    Во второй части мы используем два метода для заполнения нашей формы. С помощью clear мы можем очистить наши формы, а затем, используя send_keys, мы можем ввести текст, который мы хотим отправить.

    Наконец, мы можем найти кнопку отправки формы (на этот раз с использованием CSS Selector) и нажать на нее.

    Нажатие на кнопку открывает новую страницу, поэтому нам нужно переключиться на другую вкладку, используя обработчик окна. Вторая строка кода получает доступные вкладки в нашем браузере, а третья строка переключает окно на вторую вкладку.

    Теперь мы можем вывести результат страницы, чтобы проверить, все ли работает правильно. При этом вы должны увидеть что-то вроде:

    Submitted Form Data Your input was received as: fname=Hello&lname=World The server has processed your input and returned this answer. Note: This tutorial will not teach you how servers are processing input. Processing input is explained in our PHP tutorial.

    Вот и все на сегодня! Как обычно, вы найдете код на моем Github, и если вы хотите, загляните на мой личный сайт!