HtmlAgilityPack не удается получить переменные поля

305
20 февраля 2017, 12:13

Код с сайта выглядит вот так:

 <div class="store-rank" data-role="shop-rank">
 <span class="rank-num">2475</span>
 <a rel="nofollow" title="Feedback Score 2475" target="_blank" href="//www.aliexpress.com/store/feedback-score/221743.html">
 <img src="//ae01.alicdn.com/wimg/feedback/icon/23-s.gif" title="This is the Feedback Symbol for Feedback Scores from 2000-4999.">
 </a>
 </div>

Код на C#:

string result = "";
        HtmlWeb web = new HtmlWeb();
        HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
        doc = web.Load(URL);
        HtmlNode node = doc.DocumentNode.SelectSingleNode("//*[@id='j-store-header']/div/div/div[1]");     
        result += node.OuterHtml;

Результат выполнения данной строки кода:

<div class="store-rank" data-role="shop-rank"></div>

Почему HtmlWeb не тянет всю страницу полностью? При изменении XPath на
"//*[@id='j-store-header']/div/div/div[1]/span" возвращает NULL. При этом вот такое поле: //*[@id='j-product-desc']/div[1]/div[2]/ul/li с этой же страницы получается без проблем.

READ ALSO
Как использовать переменные по запросу?

Как использовать переменные по запросу?

Есть следующий код для примера:

343
C# Авторизоваться на сайте через аякс

C# Авторизоваться на сайте через аякс

Я пытаюсь авторизоваться на сайте через post запрос

368
Изменяется порт клиента tcp

Изменяется порт клиента tcp

Пишу чат на C# по протоколу TCPСтолкнулся с проблемой что при каждом соеденении клиента с сервером, у клиента меняется порт

271
.Net Core, AppDomain, RPC свой велосипед

.Net Core, AppDomain, RPC свой велосипед

Сейчас вNet Core нет AppDomain и RPC

334