Вытащить текст по xPath с href в переменной

mig-z

Client
Регистрация
05.12.2014
Сообщения
303
Благодарностей
71
Баллы
28
Помогите пожалуйста поправить код, так чтобы можно было бы выдергивать текст из ссылки.

Сейчас код такой, но что то он не работает:
C#:
string xpath_exp = "//a[@href='https://www.avito.ru/moskva/chasy_i_ukrasheniya/naruchnye_chasy_2442035291']";
string action_ev = "get|innertext";
string set_action ="";
//string set_action = project.Variables["test_var"].Value;
return CommonCode.FindElementAndExecuteAction(instance, xpath_exp, action_ev, set_action);
Ссылку надо как то подставлять через переменную.



То есть мне в итоге надо вытащить счетчик просмотров, для объявления.
659
99762
 

Deisler

Client
Регистрация
26.10.2019
Сообщения
482
Благодарностей
183
Баллы
43
Берешь стандартный кубик и переконвертируешь его в c#


C#:
// Конструктор действий, тип Get
HtmlElement he = instance.ActiveTab.FindElementByXPath("***", 0);
if (he.IsVoid) return -1;

// Получить значение атрибута "innertext"
string attribute = he.GetAttribute("innertext");
Вместо *** нужно вставить правильный путь xpath. По всей видимости в вашем случае это элемент span
 

mig-z

Client
Регистрация
05.12.2014
Сообщения
303
Благодарностей
71
Баллы
28
Берешь стандартный кубик и переконвертируешь его в c#


C#:
// Конструктор действий, тип Get
HtmlElement he = instance.ActiveTab.FindElementByXPath("***", 0);
if (he.IsVoid) return -1;

// Получить значение атрибута "innertext"
string attribute = he.GetAttribute("innertext");
Вместо *** нужно вставить правильный путь xpath. По всей видимости в вашем случае это элемент span
Мне надо именно по ссылке искать. Там дело в том что через ссылку я буду выцеплять просмотры именно для объявления которому соответствует ссылка.
 

Deisler

Client
Регистрация
26.10.2019
Сообщения
482
Благодарностей
183
Баллы
43
Мне надо именно по ссылке искать. Там дело в том что через ссылку я буду выцеплять просмотры именно для объявления которому соответствует ссылка.
может я чего не понял, но вы в теге "a" хотите выципить инфу, которая хранится в элементе с тегом "span" ??
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 690
Баллы
113
Помогите пожалуйста поправить код, так чтобы можно было бы выдергивать текст из ссылки.

Сейчас код такой, но что то он не работает:
C#:
string xpath_exp = "//a[@href='https://www.avito.ru/moskva/chasy_i_ukrasheniya/naruchnye_chasy_2442035291']";
string action_ev = "get|innertext";
string set_action ="";
//string set_action = project.Variables["test_var"].Value;
return CommonCode.FindElementAndExecuteAction(instance, xpath_exp, action_ev, set_action);
Ссылку надо как то подставлять через переменную.



То есть мне в итоге надо вытащить счетчик просмотров, для объявления.
659
Посмотреть вложение 99762
Как же мы поправим код, если ты его спрятал в функцию FindElementAndExecuteAction ?
Через хрустальный шар что ли ? :bk:
 

viol2021

Client
Регистрация
12.01.2021
Сообщения
481
Благодарностей
179
Баллы
43
Помогите пожалуйста поправить код, так чтобы можно было бы выдергивать текст из ссылки.

Сейчас код такой, но что то он не работает:
C#:
string xpath_exp = "//a[@href='https://www.avito.ru/moskva/chasy_i_ukrasheniya/naruchnye_chasy_2442035291']";
string action_ev = "get|innertext";
string set_action ="";
//string set_action = project.Variables["test_var"].Value;
return CommonCode.FindElementAndExecuteAction(instance, xpath_exp, action_ev, set_action);
Ссылку надо как то подставлять через переменную.



То есть мне в итоге надо вытащить счетчик просмотров, для объявления.
659
Посмотреть вложение 99762
C#:
var tab = instance.ActiveTab;
var linck = "https://www.avito.ru/moskva/chasy_i_ukrasheniya/naruchnye_chasy_2442035291";
var numberAds = linck.Substring(linck.LastIndexOf('_')+1);
return tab.FindElementByXPath($"//*[@data-marker='item-info/{numberAds}']//div[starts-with(@class,'counters-link-wrap')]",0).GetAttribute("innertext");
 
  • Спасибо
Реакции: mig-z

mig-z

Client
Регистрация
05.12.2014
Сообщения
303
Благодарностей
71
Баллы
28
C#:
var tab = instance.ActiveTab;
var linck = "https://www.avito.ru/moskva/chasy_i_ukrasheniya/naruchnye_chasy_2442035291";
var numberAds = linck.Substring(linck.LastIndexOf('_')+1);
return tab.FindElementByXPath($"//*[@data-marker='item-info/{numberAds}']//div[starts-with(@class,'counters-link-wrap')]",0).GetAttribute("innertext");
Спасибо большое, за то что потратили личное время и помогли решить задачу, все отлично работает!
 

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