Рейтинг  

Яндекс.Метрика
Яндекс цитирования
 

   

Статистика  

Пользователи
7
Материалы
592
Кол-во просмотров материалов
2825176
   


Базовый синтаксис XPath для парсинга элементов:

1*Выбрать любой элемент.
2[]Найти конкретный элемент.Пример: //li[1]
3имя_узлаВыбирает все узлы с указанным именем узла.Пример: div, p и т.д.
4/Ищет от корневого узла html
5//Ищет узлы в документе от текущего узла, который соответствует выбору, независимо от того, где они находятся
6.Ищет текущий узел
7..Ищет родителя текущего узла
8@Ищет нужный атрибут.Пример: //p[@value="2008"]

Общие функции XPath

Язык XPath имеет набор встроенных функций, которые позволяют осуществлять различные операции с XML-документами. Вот некоторые из основных функций XPath:

1text()возвращает текстовое содержимое элемента.
2count()возвращает количество элементов, соответствующих указанному выражению.
3normalize-space()удаляет лишние пробелы из строки и заменяет последовательности пробелов на одиночные пробелы.
4starts-with(x,y)проверяет, начинается ли строка с x-y.
5contains(x,y)проверяет, содержит ли строка x-y.
6last()возвращает последнюю позицию элемента в выборке.
7@attributeвыбирает значение указанного атрибута.
Не работает в web-селекторах
8position()возвращает позицию текущего элемента в выборке.
9name()возвращает имя текущего элемента.
10sum()суммирует значения элементов выборки.
11string()преобразует узел в строку.
12upper-case()преобразует текст в верхний регистр.
13lower-case()преобразует текст в нижний регистр.
14concat()объединяет две или более строки.
15string-length()возвращает длину строки.
16substring()возвращает подстроку из строки, начиная с указанной позиции.

Кроме этих основных функций, XPath также предоставляет более сложные функции, такие как функции математических операций (например, floor(), round(), sum()), функции работы с датами и временем и другие.



//input[@type='submit']

//tbody/tr[contains(@id,'anchor')]
//tbody/tr[contains(@id,'anchor')][1] первый в списке
//tbody/tr[contains(@id,'anchor')][last()] последний в списке

//span[contains(text(),"Главн")]
//span[starts-with(text(),"Главн")]
//span[contains(text(),"Главн") and @class="color"]
//span[contains(text(),"Главн")][@class="color"]
//span[contains(text(),"Главн")]["color"]    ПЛОХАЯ ПРАКТИКА
//span[contains(text(),"Главн")][@class="color"]/..  подняться по DOM на уровень выше
//input[@type='search'][starts-with(@id,'input-')]  несколько параметров
//div[contains(@class, "error-msg")]  если указано несколько значений
                                              через пробел, а ищем по одному из них
//div/div[2]/div[2]/text()[1]

//*[normalize-space(text())='Компоненты']

//span[contains(.,'ABZ')]/following-sibling::span[1]            брат следующий за тобой
//ul/li[contains(text(),’Apple Mobiles’)]/following-sibling::li после :: локатор брата
./../preceding-sibling::div/span           брат предыдущий перед тобой
//div[contains(text(),'Превышен дневной лимит') or contains(text(),'Превышен')]
//*[normalize-space(text())='Подписать']//ancestor::button
//*[normalize-space(text())='Подписать']//parent::button


Не XPath, но полезно

ui-datepicker-popup.open .datepicker-cell:not(.off)  :not() - за исключением класса 'off'


   
   

Login Form