В модуле selenium.webdriver вы найдете все реализации WebDriver — инструмента для автоматизации действий браузера. WebDriver предлагает несколько способов поиска элементов с использованием методов find_element_by_*.
Элементы можно искать по ID, имени, Xpath, CSS-селекторам и т. д. Узнать больше можно в руководстве «Locators for Selenium».
Пожалуйста, сохраните скрипт, который мы будет разбирать ниже (например, под именем python_selenium_example.py). Это даст вам возможность запускать его:
python python_selenium_example.py
В примере, который мы будем рассматривать, есть ряд основных шагов:
- Шаг 1: открываем браузер Chrome.
- Шаг 2: указываем название.
- Шаг 3: вводим текст «Test Python».
- Шаг 4: указываем введенный текст.
- Шаг 5: закрываем браузер.
from selenium import webdriver
driver = webdriver.Chrome(r'C:\Users\drivers\chromedriver.exe')
driver.maximize_window()
driver.get("http://www.seleniumeasy.com/test/basic-first-form-demo.html")
assert "Selenium Easy Demo - Simple Form to Automate using Selenium" in driver.title
eleUserMessage = driver.find_element_by_id("user-message")
eleUserMessage.clear()
eleUserMessage.send_keys("Test Python")
eleShowMsgBtn=driver.find_element_by_css_selector('#get-input > .btn')
eleShowMsgBtn.click()
eleYourMsg=driver.find_element_by_id("display")
assert "Test Python" in eleYourMsg.text
driver.close()
Теперь давайте разберем этот код более детально.
Мы открываем браузер Google Chrome и используем метод driver.maximize_window(), чтобы максимизировать окно браузера.
driver = webdriver.Chrome(r'C:\Users\pc\Downloads\chromedriver.exe') driver.maximize_window()
Метод driver.get() откроет веб-сраницу, URL которой мы указали. Это страница с формами, созданная специально в качестве демо.
driver.get("http://www.seleniumeasy.com/test/basic-first-form-demo.html")
Далее мы ищем по идентификатору текстовое поле для ввода данных и очищаем его перед вводом любого текста (используется метод clear). После этого вводим в поле данные, используя метод send_keys().
eleUserMessage = driver.find_element_by_id("user-message")
eleUserMessage.clear()
eleUserMessage.send_keys("Test Python")
Ищем кнопку «Show Your Message» по CSS-селектору. В CSS-селекторах идентификатор указывается с использованием символа решетки «#», а класс — с использованием точки «.».
После этого нажимаем кнопку, используя метод click().
eleShowMsgBtn=driver.find_element_by_css_selector('#get-input > .btn')
eleShowMsgBtn.click()
Проверяем, совпадают ли входной и выходной текст, используя утверждение.
eleYourMsg=driver.find_element_by_id("display")
assert "Test Python" in eleYourMsg.text
После прохождения тестов закрываем браузер — для этого используется метод driver.close().
driver.close()

