C # Html 민첩성 팩 (SelectSingleNode)

c# html html-agility-pack parsing

문제

이 필드를 구문 분석하려고하지만이를 작동시키지 못합니다. 현재 시도 :

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


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

오류 : 개체 참조가 개체의 인스턴스로 설정되지 않았습니다.

어떤 도움을 주시면 감사하겠습니다.

@ 존 - HTML이 제대로로드되었는지 확인할 수 있습니다. 나는 학습 목적으로 페이스 북 이름을 읽으려고 노력하고있다. 다음은 Firebug 플러그인의 스크린 샷입니다. 내가 사용하는 버전은 1.4.0입니다.

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

문제는 profile_name이 자식 노드 또는 뭔가라는 것입니다. 그래서 그것을 읽을 수 없습니까?

인기 답변

코드가 작동하지 않는 이유는 페이지에 <h1 id='profile_name'> 태그를 실제로 쓰는 JavaScript가 있기 때문입니다. 따라서 사용자 에이전트 (또는 AJAX를 통해)에서 페이지를 요청하는 경우 JavaScript를 실행하지 않으면 요소를 찾을 수 없습니다.

다음 선택기를 사용하여 내 이름을 얻을 수있었습니다.

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



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.