Selenium – инструмент для автоматизируемого управления браузера(драйвер браузера).
Selenium WebDriver
Selenium RC
Selenium Server
Selenium Grid
Selenium IDE
Webelement - абстракция над, веб элементом.
By - абстракция над, локатором веб элементом.
Ожидания
Web driver
XPath (XML Path Language) — язык запросов к элементам XML или XHTML документа, реализующий навигацию по DOM.
Если вы выстраиваете поисковые запросы в цепочку, то используйте «.//» для того, чтобы ограничить поиск среди потомков элемента.
* — обозначает любое имя или набор символов
/html/body/*/span
«/» - Абсолютный путь
«//» - Относительный путь
Оси - основа запросов XPath и их обязательная часть.
Предикаты — это необязательная часть, заключаемая в квадратные скобки, в которой могут содержаться оси, условия проверки, функции и операторы.
Для приведенного выше примера /html/body/*/span
полный синтаксис будет иметь вид /child::html/child::body/child::*/child::span
Description | XPath | CSS path |
---|---|---|
Direct child | //div/a | div > a |
Child or Sub Child | //div//a | div a |
Id | //div[@id='idValue']//a | div#idValue a |
Class | //div[@class='classValue']//a | div.classValue a |
Attribute | //form/input[@name='username'] | form input[name='username'] |
Following sibling | //li[@class='first']/following-sibling::li | li.first + li |
Multiple attributes | //input[@name='continue' and @type='button'] | input[name='continue'][type='button'] |
nth child | //ul[@id='list']/li[4] | ul#list li:nth-child(4) |
First child | //ul[@id='list']/li[1] | ul#list li:first-child |
Last child | //ul[@id='list']/li[last()] | ul#list li:last-child |
Attribute contains | //div[contains(@title,'Title')] | div[title*="Title"] |
Attribute starts with | //input[starts-with(@name,'user')] | input[name^="user"] |
Attribute ends with | //input[ends-with(@name,'name')] | input[name$="name"] |
With attribute | //div[@title] | div[title] |