Get+xpath

Kirillzenp

Client
Регистрация
27.02.2018
Сообщения
100
Благодарностей
1
Баллы
18
С помощью get запроса+xpath пытаюсь взять наименование бренда(htmlpack стоит, все есть), но не получается. Если парсить активный таб, то находит по заданному xpath.
https://goo.gl/moZNoZ
Вот код:
https://goo.gl/moZNoZ
Код:
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
var template_html = project.Variables["getInfo"].Value;
var var_xpath1 = @"//span[contains(@class, 'title') and contains(text(), 'Производитель')]//following-sibling::span[1]";
string temp = "";
string result = "";
doc.LoadHtml(template_html);
var Nodes_list_1 = doc.DocumentNode.SelectNodes(var_xpath1);
if (Nodes_list_1 != null)
{
foreach (var res in Nodes_list_1)
    {
           temp = res.GetAttributeValue("InnerHtml", "");
        result += temp + "\r\n";
   

    } 
}
return result;
https://goo.gl/moZNoZ
Может в коде ошибка или я чего-то фундаментального не догоняю.
 
Последнее редактирование:

orka13

Client
Регистрация
07.05.2015
Сообщения
2 177
Благодарностей
2 184
Баллы
113
путеводитель для новичков при использовании ZennoPoster+xpath+HtmlAgilityPack+POST\GET
Не совсем уверен что там надо через коллекцию SelectNodes обрабатывать (ведь вроде там только 1 элемент надо найти), но раз так надо , то:
C#:
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
var template_html = project.Variables["getInfo"].Value;
var var_xpath1 = @"//div[@class ='container']//h2/a";
string temp = "";
string result = "";
doc.LoadHtml(template_html);
var Nodes_list_1 = doc.DocumentNode.SelectNodes(var_xpath1);
if (Nodes_list_1 != null)
{
foreach (var res in Nodes_list_1)
    {
        temp = res.InnerText;
        result += temp + "\r\n";
       }
}
return result;
Просто заменил 1 строку на "temp = res.InnerText;"
 
  • Спасибо
Реакции: Rain и Kirillzenp

Kirillzenp

Client
Регистрация
27.02.2018
Сообщения
100
Благодарностей
1
Баллы
18
Спасибо
 

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