C # Html Agility Pack (SelectSingleNode)

c# html html-agility-pack parsing

Вопрос

Я пытаюсь разобрать это поле, но не могу заставить его работать. Текущая попытка:

var name = doc.DocumentNode.SelectSingleNode("//*[@id='my_name']").InnerHtml;


<h1 class="bla" id="my_name">namehere</h1>

Ошибка: ссылка на объект не установлена ​​в экземпляр объекта.

Цените любую помощь.

@John - Я могу заверить, что HTML правильно загружен. Я пытаюсь прочитать мое имя в facebook для учебных целей. Вот скриншот из плагина Firebug. Версия, которую я использую, - 1.4.0.

http://i54.tinypic.com/kn3wo.jpg

Я думаю, проблема в том, что profile_name - это дочерний узел или что-то еще, поэтому я не могу его прочитать?

Популярные ответы

Причина, по которой ваш код не работает, заключается в том, что на странице, на которой на самом деле <h1 id='profile_name'> тег <h1 id='profile_name'> , есть JavaScript, поэтому, если вы запрашиваете страницу у агента пользователя (или через AJAX), который не выполняет JavaScript, вы не найдете этот элемент.

Я смог получить свое имя, используя следующий селектор:

string name = 
    doc.DocumentNode.SelectSingleNode("//a[@id='navAccountName']").InnerText;


Related

Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow