Автоматическое заполнение формы обратной связи с помощью Selenium

В этом примере мы покажем, как с помощью Python и Selenium можно автоматически заполнять форму обратной связи на сайте. Такой подход полезен для тестирования сайтов, обучения работе с веб-формами, автоматизации тестов или отправки тестовых сообщений. Вы научитесь находить поля формы, вводить данные и нажимать кнопку отправки, а также использовать паузы для визуальной проверки действий.

Установка необходимых библиотек.

pip install selenium webdriver-manager

Основной код программы для работы с Selenium

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time

# Создаём драйвер Chrome
driver = webdriver.Chrome()

# Открываем страницу с формой обратной связи
driver.get("https://parsertools.ru/zakazat-parser")
time.sleep(5)  # Пауза для загрузки страницы и визуального контроля

# Находим поле "Ваше имя" и вводим текст
name_field = WebDriverWait(driver, 10).until(
    EC.visibility_of_element_located((By.NAME, "your-name"))
)
name_field.send_keys("Иван Иванов")
time.sleep(5)  # Пауза, чтобы увидеть введённое имя

# Находим поле "Ваш e-mail" и вводим адрес
email_field = driver.find_element(By.NAME, "your-email")
email_field.send_keys("ivan@example.com")
time.sleep(5)  # Пауза для визуальной проверки

# Находим поле "Тема" и вводим текст темы сообщения
subject_field = driver.find_element(By.NAME, "your-subject")
subject_field.send_keys("Тестовое сообщение Selenium")
time.sleep(5)  # Пауза для визуальной проверки

# Находим поле "Ваше сообщение" и вводим текст сообщения
message_field = driver.find_element(By.NAME, "your-message")
message_field.send_keys("Это тестовое сообщение, отправленное автоматически через Selenium.")
time.sleep(5)  # Пауза для визуальной проверки

# Находим кнопку "Отправить" и кликаем по ней
submit_button = driver.find_element(By.CSS_SELECTOR, "input.wpcf7-submit")
submit_button.click()
time.sleep(5)  # Пауза для визуального подтверждения отправки

# Сообщение о завершении работы скрипта
print("Форма заполнена и отправлена")

# Закрываем браузер
driver.quit()

Результат

Основные модули и импорты Selenium для Python

В этом примере скрипт Selenium выполняет следующие действия:

  • Сначала открывает страницу с HTML-формой обратной связи, содержащей поля для имени, e-mail, темы и сообщения.
  • Затем ждёт появления поля «Ваше имя» и вводит туда текст.
  • После этого находит поля «Ваш e-mail», «Тема» и «Ваше сообщение», вводит соответствующие данные, делая паузы по 5 секунд после каждого действия, чтобы можно было визуально убедиться, что данные введены правильно.
  • Далее скрипт находит кнопку «Отправить» и кликает по ней, отправляя форму.
  • Выводит в терминале сообщение о том, что форма заполнена и отправлена.
  • В конце закрывает браузер и завершает работу.
Этот пример полезен для тестирования работы форм на сайте, автоматизации отправки данных, обучения работе с Selenium и демонстрации принципов взаимодействия с HTML-элементами.

Больше примеров по парсингу на parsertools.ru/primers.