| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Xpath | Примеры | Комментарии | |||||||||||||||||||||||
2 | Строковые функции | |||||||||||||||||||||||||
3 | string() - возвращает текстовое содержимое элемента. По сути возвращает объединенное множество текстовых узлов на один уровень ниже (string string(object)) | 1. string(//ul[@id="number"]) 2. string(//div[@class='one-third alpha columns']//p) 3. string(//div[@class='list-4']/ul[count(li)=4]) | 1. вернет все текстовое содержимое элемента (<ul[@id="number"]>) результат выполнения функции 1 2 3 | |||||||||||||||||||||||
4 | contains - возвращает true, если первая строка содержит вторую, иначе возвращает false (boolean contains(string, string)) | 1. //*[contains(text(), 'Пароль')] 2. //h3[contains(text(), 'How to start')] 3. //div[contains(@class, 'featured')]/h3/a[contains(text(), 'Plugins')] | 1. вернет все элементы, которые содержат текст “Пароль” | |||||||||||||||||||||||
5 | concat() - объединяет две или более строк (string concat(string, string, string*)) | 1. //li[contains(text(), concat('1','2','3'))] 2. //a[contains(text(), concat('Continuous',' ', 'integration'))] 3. //li[contains(@id, concat('menu-','item-', '1478'))] | 1. данных XPath объединит строки “1” ”2” ”3” и произведет поиск по элементу (<li>) в котором содержится текст “123” | |||||||||||||||||||||||
6 | string-length() - возвращает длину строки (number string-length(string)) | 1. //*[string-length(name())<=2] 2. //*[string-length(text())>10] 3. //*[string-length(p[text()])>150] 4. //*[string-length(p[text()])>150]//a[string-length(text())=7] | 1. вернет все элементы, длинна имени тегов которых меньше либо равно 2. вернет все элементы, длинна текста которых больше 10 символов | |||||||||||||||||||||||
7 | substring() - возвращает строку вырезанную из строки начиная с указанного номера, второй параметр number (необязательный) — количество символов (string substring(‘string’, number, number)) | 1. //*[contains(text(), substring('Блок1вавав', 1, 5))] 2. //*[contains(@id, substring('aq-block-880-2', 8, 6))] | 1.substring('Блок1вавав', 1, 5) функция возьмет 5 символов, начиная с первого. Результат выполнения функции “Блок1”. 2. Выбираем все элементы в которых содержится атрибут @id с текстом ‘aq-block-880-2’. Далее текст 'aq-block-880-2' обрезаем 6 символов, начиная с 8 символа . | |||||||||||||||||||||||
8 | string substring-before (string, string) - если найдена вторая строка в первой, возвращает строку до первого вхождения второй строки | 1. //*[contains(text(), substring-before('Блок1/блабла/', '/'))] | 1. substring-before('Блок1/блабла/', '/') обрежет весь текст, который встречается после первого “/” включая сам “/”. Результат “Блок1”. Далее в XPath подставиться результат выполнения функции substring-before. Теперь XPath будет искать на странице элементы в которых содержится текст “Блок1”. //*[contains(text(), 'Блок1')] | |||||||||||||||||||||||
9 | string substring-after(string, string) - если найдена вторая строка в первой, возвращает строку после первого вхождения второй строки. | 1. //*[contains(text(), substring-after('блабла/Блок1', '/'))] | 1. Все тоже самое, что в предыдущей функции, только теперь обрежется текст до “/” включая сам “/”. | |||||||||||||||||||||||
10 | boolean starts-with (string, string) - возвращает true если первая строка начинается со второй, иначе возвращает false. | 1. //h1[starts-with('div', 'd')] 2. //a[starts-with(text(), 'View')] | 1. Функция starts-with('div', 'd') проверит, присутствуют ли на странице элементы “div” которые начинаются с “d” 2. Выбирает все элементы (<a>) которые начинаются с текста 'View' | |||||||||||||||||||||||
11 | string normalize-space (string) - убирает лишние и повторные пробелы, а также управляющие символы, заменяя их пробелами | 1. //*[contains(text(), normalize-space(' пункт 1 '))] | normalize-space(' пункт 1 ') обрежет лишние пробелы и вернет текст в нормально виде “пункт 1”. | |||||||||||||||||||||||
12 | string translate (string, string, string) - заменяет символы первой строки, которые встречаются во второй строке, на соответствующие позиции символам из второй строки символы из третьей строки. translate(«cat», «abc», «ABC») вернет CAt. | 1. //*[contains(text(), translate('БЛОК1', 'ЛОК', 'лок'))], вернет “Блок1”. | ||||||||||||||||||||||||
13 | ||||||||||||||||||||||||||
14 | ||||||||||||||||||||||||||
15 | ||||||||||||||||||||||||||
16 | ||||||||||||||||||||||||||
17 | ||||||||||||||||||||||||||
18 | ||||||||||||||||||||||||||
19 | ||||||||||||||||||||||||||
20 | ||||||||||||||||||||||||||
21 | ||||||||||||||||||||||||||
22 | ||||||||||||||||||||||||||
23 | ||||||||||||||||||||||||||
24 | ||||||||||||||||||||||||||
25 | ||||||||||||||||||||||||||
26 | ||||||||||||||||||||||||||
27 | ||||||||||||||||||||||||||
28 | ||||||||||||||||||||||||||
29 | ||||||||||||||||||||||||||
30 | ||||||||||||||||||||||||||
31 | ||||||||||||||||||||||||||
32 | ||||||||||||||||||||||||||
33 | ||||||||||||||||||||||||||
34 | ||||||||||||||||||||||||||
35 | ||||||||||||||||||||||||||
36 | ||||||||||||||||||||||||||
37 | ||||||||||||||||||||||||||
38 | ||||||||||||||||||||||||||
39 | ||||||||||||||||||||||||||
40 | ||||||||||||||||||||||||||
41 | ||||||||||||||||||||||||||
42 | ||||||||||||||||||||||||||
43 | ||||||||||||||||||||||||||
44 | ||||||||||||||||||||||||||
45 | ||||||||||||||||||||||||||
46 | ||||||||||||||||||||||||||
47 | ||||||||||||||||||||||||||
48 | ||||||||||||||||||||||||||
49 | ||||||||||||||||||||||||||
50 | ||||||||||||||||||||||||||
51 | ||||||||||||||||||||||||||
52 | ||||||||||||||||||||||||||
53 | ||||||||||||||||||||||||||
54 | ||||||||||||||||||||||||||
55 | ||||||||||||||||||||||||||
56 | ||||||||||||||||||||||||||
57 | ||||||||||||||||||||||||||
58 | ||||||||||||||||||||||||||
59 | ||||||||||||||||||||||||||
60 | ||||||||||||||||||||||||||
61 | ||||||||||||||||||||||||||
62 | ||||||||||||||||||||||||||
63 | ||||||||||||||||||||||||||
64 | ||||||||||||||||||||||||||
65 | ||||||||||||||||||||||||||
66 | ||||||||||||||||||||||||||
67 | ||||||||||||||||||||||||||
68 | ||||||||||||||||||||||||||
69 | ||||||||||||||||||||||||||
70 | ||||||||||||||||||||||||||
71 | ||||||||||||||||||||||||||
72 | ||||||||||||||||||||||||||
73 | ||||||||||||||||||||||||||
74 | ||||||||||||||||||||||||||
75 | ||||||||||||||||||||||||||
76 | ||||||||||||||||||||||||||
77 | ||||||||||||||||||||||||||
78 | ||||||||||||||||||||||||||
79 | ||||||||||||||||||||||||||
80 | ||||||||||||||||||||||||||
81 | ||||||||||||||||||||||||||
82 | ||||||||||||||||||||||||||
83 | ||||||||||||||||||||||||||
84 | ||||||||||||||||||||||||||
85 | ||||||||||||||||||||||||||
86 | ||||||||||||||||||||||||||
87 | ||||||||||||||||||||||||||
88 | ||||||||||||||||||||||||||
89 | ||||||||||||||||||||||||||
90 | ||||||||||||||||||||||||||
91 | ||||||||||||||||||||||||||
92 | ||||||||||||||||||||||||||
93 | ||||||||||||||||||||||||||
94 | ||||||||||||||||||||||||||
95 | ||||||||||||||||||||||||||
96 | ||||||||||||||||||||||||||
97 | ||||||||||||||||||||||||||
98 | ||||||||||||||||||||||||||
99 | ||||||||||||||||||||||||||
100 | ||||||||||||||||||||||||||