Selenium WebDriver

20.11.2017 - vvuri - Reading time ~6 Minutes

Selenium WebDriver

  • Selenium server необходим в случаях, когда вы хотите использовать remote WebDriver
  • Selenium server написан на языке Java. Для его запуска рекомендована среда Java Runtime Environment (JRE) версии 1.6 или выше. bash java -jar selenium-server-standalone-2.x.x.jar

Протсейший скрипт Python:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys   	// Класс Keys обеспечивает взаимодействие с командами клавиатуры

driver = webdriver.Firefox()						// создается элемент класса Firefox WebDriver.
driver.get("http://www.python.org")					// WebDriver будет ждать пока страница не загрузится полностью, AJAX - сложнее
assert "Python" in driver.title  					// это утверждение (англ. assertion), что заголовок содержит слово “Python”
elem = driver.find_element_by_name("q")				// способ получения элементов с помощью методов find_element_by_*
elem.send_keys("pycon")								// мы посылаем нажатия клавиш (аналогично введению клавиш с клавиатуры)	
elem.send_keys(Keys.RETURN)							// Специальные команды с помощью класса Keys из selenium.webdriver.common.keys
assert "No results found." not in driver.page_source
driver.close()										// quit закроет браузер полностью, в то время как close закроет одну вкладку

Вы можете писать тесты с помощью модуля Python unittest. Альтернатива py.test и nose.

Python -> Selenium -> Driver -> Browser

Драйверы - chromedriver - geckodriver - IE

Селекторы css selector - состотит из серии прыжком по DOM - тег - атрибут, напрменр ul#menu, где