pythonist cover selenium webdriver
В модуле selenium.webdriver вы найдете все реализации WebDriver — инструмента для автоматизации действий браузера. WebDriver предлагает несколько способов поиска элементов с использованием методов find_element_by_*.
Элементы можно искать по ID, имени, Xpath, CSS-селекторам и т. д. Узнать больше можно в руководстве «Locators for Selenium».
Пожалуйста, сохраните скрипт, который мы будет разбирать ниже (например, под именем python_selenium_example.py). Это даст вам возможность запускать его:
python python_selenium_example.py
В примере, который мы будем рассматривать, есть ряд основных шагов:
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()
Если вы ищете работу на Python, на Talanto.work сейчас есть варианты для junior, middle, senior…
Рынок Python-вакансий большой, но удобным его назвать сложно. Формально вакансий много, однако в реальном поиске…
Срезы в Python — это больше, чем a[2:7]. В статье — быстрый разбор полезных приёмов:…
В этой статье мы рассмотрим возведение в степень в Python с помощью различных методов, от…
Дубликаты в списке Python — частая проблема. В статье показано, как быстро убрать повторы, в…
Услуга виртуального хостинга на SpaceWeb позволяет арендовать часть сервера (shared-сервера) и разместить на нём свой…