Авторегистрация на сайте с Selenium и Python

Здравствуйте! Бывает что при регистрации на странице нужно заполнить множество полей. А что если данную процедуру приходится выполнять много раз.
Конечно же автозаполнение полей сэкономило бы нам много времени.
В сегодняшней статье мы реализуем авторегистрацию на сайте с Python и Selenium webdriver.


from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
import  time

class TestMyrusakov():
    def setup_method(self):
        # инициализация selenium webdriver
        self.driver = webdriver.Chrome()

    def teardown_method(self):
        # метод закрытия сессии браузера
        self.driver.quit()

    def test_myrusakov(self):

        # открываем страницу по адресу 
        self.driver.get("https://myrusakov.ru/register.html")

        # установка размеров окна
        self.driver.set_window_size(1067, 574)

        # фокусируем курсор на поле 
        self.driver.find_element(By.ID, "name").click()

        # вводим в поле значение Кирилл
        self.driver.find_element(By.ID, "name").send_keys("Кирилл")

        # тоже и для остальных полей
        # поле login
        self.driver.find_element(By.ID, "login").click()

        self.driver.find_element(By.ID, "login").send_keys("User2022")
        # поле email 
        self.driver.find_element(By.ID, "email").click()

        self.driver.find_element(By.ID, "email").send_keys("[email protected]")

        # поле пароля
        self.driver.find_element(By.ID, "password").click()

        self.driver.find_element(By.ID, "password").send_keys("123456789")

        # подтверждение пароля
        self.driver.find_element(By.ID, "password_conf").click()

        self.driver.find_element(By.ID, "password_conf").send_keys("123456789")

        # клик по капче, не всегда успешен
        self.driver.find_element(By.CSS_SELECTOR, ".recaptcha-checkbox-border").click()
        # 
        self.driver.switch_to.default_content()

        # клик по кнопке регистрации 
        self.driver.find_element(By.CSS_SELECTOR, ".center:nth-child(8) > input").click()

        # закрытие окна браузера
        self.driver.close()

register = TestMyrusakov()
register.setup_method()
register.test_myrusakov()
register.teardown_method()

Таким образом, мы заполнили все поля на сайте при помощи Python и Selenium webdriver.

Источник