HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(item);
string title=null;
string cost= null;
var titleNode = doc.DocumentNode.SelectSingleNode("//span[contains(@class, 'title-info-title-text')]");
if (titleNode != null)
title = titleNode.InnerText;
var costNode = doc.DocumentNode.SelectSingleNode("//span[contains(@class, 'js-item-price')]");
if(costNode!=null)
cost = costNode.GetAttributeValue("content", "0");
Этот код выполняется в нескольких потоках и обычно все нормально. Но иногда SelectSingleNode возвращает null. Я ставил брейк-поинт и проверял в ручную. Нужный тег был. Ощущение, что doc.LoadHtml() - работает асинхронно, и периодически не успевает загрузить страницу. Или это моя оперативная память отъезжает?
Может быть кто-то сталкивался с такой проблемой?
Попробуйте сначала загружать html например с помощью WebClient
, а потом уже скармливать его HtmlDocument
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(htmlstring);
Если все еще будут проблемы, можно пытаться повторять загрузку в цикле несколько раз. Пример кода здесь
Виртуальный выделенный сервер (VDS) становится отличным выбором
Как заблокировать только горизонтальную автопрокрутку и оставить автопрокрутку вертикальную?
Помогите разобратьсяЯ только начал изучать Sharp и LINQ по этому каждый шаг дается с трудом, вот и сейчас столкнулся с проблемой, решение которой...
Как можно поднять на ubuntu 1604 сервере hunspell php После дебага ругается на отсутствия файлов