Как в XPath отнять лишнее

soprano

Client
Регистрация
25.08.2011
Сообщения
866
Благодарностей
948
Баллы
93

Valandersi

Client
Регистрация
19.01.2015
Сообщения
1 935
Благодарностей
1 123
Баллы
113
Вот такой запрос собирает почту
C#:
//a[contains(@href, 'mailto')]
но в начале спарсенного списка сохраняется очень не нужный текст

Как в верхнем запросе отминусовать эти слова
Используйте not()
 

soprano

Client
Регистрация
25.08.2011
Сообщения
866
Благодарностей
948
Баллы
93
Что-то такой вариант не минусует
C#:
//a[contains(@href, 'mailto') and not(@href='Press Requests')]
 

Valandersi

Client
Регистрация
19.01.2015
Сообщения
1 935
Благодарностей
1 123
Баллы
113

soprano

Client
Регистрация
25.08.2011
Сообщения
866
Благодарностей
948
Баллы
93

Valandersi

Client
Регистрация
19.01.2015
Сообщения
1 935
Благодарностей
1 123
Баллы
113
Это текст смотрите комбинируйте not() и text()
 
  • Спасибо
Реакции: soprano и orka13

soprano

Client
Регистрация
25.08.2011
Сообщения
866
Благодарностей
948
Баллы
93
Вот так тоже не хочет
C#:
//a[contains(@href, 'mailto') and not(text(), 'Press Requests')]
 

orka13

Client
Регистрация
07.05.2015
Сообщения
2 179
Благодарностей
2 187
Баллы
113
Вот так тоже не хочет
C#:
//a[contains(@href, 'mailto') and not(text(), 'Press Requests')]
Вам все правильно подсказали. Но раз по вашему хпасу вообше ничего не находит, то надо было догадаться что в нем неправильный синтаксис. надо так:
Код:
//a[contains(@href, 'mailto') and not(text()='Press Requests')]
 
  • Спасибо
Реакции: Valandersi и soprano

soprano

Client
Регистрация
25.08.2011
Сообщения
866
Благодарностей
948
Баллы
93
Вам все правильно подсказали. Но раз по вашему хпасу вообше ничего не находит, то надо было догадаться что в нем неправильный синтаксис. надо так:
Код:
//a[contains(@href, 'mailto') and not(text()='Press Requests')]
Круто, век живи..
Я решил с тем же результатом так:
C#:
//div[@class='contact']//a[contains(@href, 'mailto')]
 
  • Спасибо
Реакции: Valandersi

Кто просматривает тему: (Всего: 3, Пользователи: 0, Гости: 3)