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

  • Автор темы Автор темы mig-z
  • Дата начала Дата начала

mig-z

Client
Регистрация
05.12.2014
Сообщения
311
Реакции
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
 
Берешь стандартный кубик и переконвертируешь его в c#


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

// Получить значение атрибута "innertext"
string attribute = he.GetAttribute("innertext");

Вместо *** нужно вставить правильный путь xpath. По всей видимости в вашем случае это элемент span
 
Берешь стандартный кубик и переконвертируешь его в c#


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

// Получить значение атрибута "innertext"
string attribute = he.GetAttribute("innertext");

Вместо *** нужно вставить правильный путь xpath. По всей видимости в вашем случае это элемент span
Мне надо именно по ссылке искать. Там дело в том что через ссылку я буду выцеплять просмотры именно для объявления которому соответствует ссылка.
 
Мне надо именно по ссылке искать. Там дело в том что через ссылку я буду выцеплять просмотры именно для объявления которому соответствует ссылка.
может я чего не понял, но вы в теге "a" хотите выципить инфу, которая хранится в элементе с тегом "span" ??
 
Помогите пожалуйста поправить код, так чтобы можно было бы выдергивать текст из ссылки.

Сейчас код такой, но что то он не работает:
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:
 
Помогите пожалуйста поправить код, так чтобы можно было бы выдергивать текст из ссылки.

Сейчас код такой, но что то он не работает:
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
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");
Спасибо большое, за то что потратили личное время и помогли решить задачу, все отлично работает!
 

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