Помогите с xPath, как взять значение?

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 481
Баллы
113

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 521
Благодарностей
1 319
Баллы
113
Помогите с xPath, нужен путь, который будет брать только цифры

страница - https://porkbun.com/checkout/search?q=checktest.com&tlds=&idnLanguage=&csrf_pb=ab483ce9b7a37cbdb5cc1fda503c6201

нужно сделать xpath который будет брать значения ниже 10
моих знаний на это не хватает, хелп

вот что надо брать http://joxi.ru/D2PQ94wUqgVbMA
xpath не умеет отделять текст/символы от цифр, сначала нужно парсить вместе с текстом $ и только потом отдельно делать обработку цен.
 

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 481
Баллы
113

z@jivalo

Client
Регистрация
27.12.2016
Сообщения
800
Благодарностей
179
Баллы
43
вот такой костыльный вариант собирает по строчкам
C#:
/html/body/div[3]/div[4]/div[2]/div/div/div[5]/div[2]/div/div/*
там где div[2] - поставить счетчик или поставить * тогда соберет все в список

собирает только цену, там где div[7] прогнать по счетчику
C#:
/html/body/div[3]/div[4]/div[2]/div/div/div[5]/div[7]/div/div/*/span/text()
это прям вообще костыль, на скорую как смог найти)
 

z@jivalo

Client
Регистрация
27.12.2016
Сообщения
800
Благодарностей
179
Баллы
43

volody00

Client
Регистрация
06.09.2016
Сообщения
918
Благодарностей
953
Баллы
93
только с использованием регулярок (может и через api, не смотрел). вот накидал (создай список с именем "Список 1")

C#:
IZennoList spisok = project.Lists["Список 1"];
var sp = instance.ActiveTab.FindElementsByXPath("//span[@class='childContent']/span/small/parent::span/parent::span");
Regex r = new Regex(@"\$\d+.\d\d(?=\ /\ year)");

foreach(var s in sp) spisok.Add(r.Match(s.InnerText).Value);
 

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 481
Баллы
113
у них по апи только работа с днс, не нашел работы с чеком доменов
 

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 481
Баллы
113
ну в целом понятно, я просто думал можно сделать именно так, ладно будем юзать регулярки
всем пасиб
 

dizney

Client
Регистрация
25.01.2014
Сообщения
51
Благодарностей
52
Баллы
18
Сразу берет цену. Привязываемся к плюсику.

Код:
var tab = instance.ActiveTab;
var price = tab.FindElementByXPath(@"//span[@class='glyphicon glyphicon-plus']/ancestor::div[@id='searchResultRowOptions_checktest_equipment']/preceding::div[1]/descendant::span[@class='childContent']", 0).GetAttribute("innertext").ToString().Split('/')[0].Split('$').Last();
project.SendInfoToLog(price);
 

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