Html 민첩성 팩을 사용하여 "Pool Hashrate"의 가치를 얻으려고합니다. 바로 문자열 해시를 맞았을 때 { "객체 참조가 객체의 인스턴스로 설정되지 않았습니다."}. 누군가 내가 무엇을 잘못하고 있는지 말해 줄 수 있습니까?Html 민첩성 팩을 사용하여 웹 페이지에서 가치를 얻으십시오.
답변
URL에 액세스하려고한다고 가정하면 물론 실패합니다. 그 URL은 전체 문서가 아니라 html의 일부분만을 반환합니다. html
태그가없고 body
태그가없고 div
태그 만 있습니다. xpath 쿼리는 아무것도 반환하지 않으므로 null 참조 예외가 발생합니다. 원하는 것을 쿼리해야합니다.
/div/center/div/table/tr[1]/td[2]
에서 : 당신이 더 많은이 같은 쿼리를 사용하는 거라고 당신이 Pool Hashrate
을 얻고 싶었다 경우
<div>
<center>
<div style="margin-right: 20px;">
<h3>Personal LTC Stats</h3>
<table class='zebra-striped'>
<tr><td>Pool Hashrate: </td><td>66.896 Mh/s</td></tr>
<tr><td>Your Hashrate: </td><td>0 Mh/s</td></tr>
<tr><td>Estimated Payout: </td><td> LTC</td></tr>
</table>
</div>
</center>
</div>
,이를 감안할 때 : 그 URL을 액세스 할 때
는,이 반환 당신이해야 할 일 :
var url = "http://p2pool.org/ltcstats.php?address";
var web = new HtmlWeb();
var doc = web.Load(url);
var xpath = "/div/center/div/table/tr[1]/td[2]";
var poolHashrate = doc.DocumentNode.SelectSingleNode(xpath);
if (poolHashrate != null)
{
var hash = poolHashrate.InnerText;
// do stuff with hash
}
HTML을 봅니다. 및 body 태그를 볼 때 – Harrison
글쎄, 브라우저를 통해 열면 브라우저가이를 추가합니다. 사이트에 직접 액세스하여 다시 시도하십시오. –
문제는 xpath가 spe를 찾지 못한다는 것입니다. cified 노드. 더 작은 xpath를 갖기 위해 테이블이나 tr에 id를 지정할 수 있습니다.
또한 코드에 기반하여 단일 노드 만 찾고 있다고 가정하므로이 같은 것을 사용할 수도 있습니다
doc.DocumentNode.SelectSingleNode ("xpath"); 또 다른 좋은 옵션은
- 1. html 민첩성 팩을 사용하는 방법?
- 2. 당신은 어떻게 html 민첩성 팩을 사용하여 htmlencode합니까?
- 3. HTML 민첩성 팩을 사용하여 콘텐츠를 긁는 방법
- 4. Html 민첩성 팩을 사용하여 H3의 InnerText 잡기
- 5. HTML 민첩성 팩을 사용하여 구문 분석 테이블
- 6. HTML 민첩성 팩을 사용하여 다음 요소 선택
- 7. Html 민첩성 팩을 사용하여 HTML 문서 구문 분석
- 8. HTML 민첩성 팩을 사용하여 조작 된 HTML 처리
- 9. HTML 민첩성 팩을 통해 HTML에 doctype 추가
- 10. html 민첩성 팩을 사용하는 직계 하위 항목
- 11. html 민첩성 팩을 사용하여 HTML 파일 구문 분석 C#
- 12. Html 민첩성 팩 사용
- 13. Html 민첩성 팩을 사용하여 텍스트 콘텐츠 가져 오기
- 14. HTML 민첩성 팩을 사용하여 메타 태그 및 설명 잡기
- 15. Html 민첩성 팩을 사용하여 XPATH를 사용할 수 없습니다.
- 16. HTML 민첩성 팩을 사용하여 HTML에 ID를 쿼리하는 중 예외가 발생했습니다.
- 17. HTML 민첩성 팩을 사용하여 단일 노드를 여러 노드로 바꿉니다.
- 18. HTML 민첩성 팩을 사용하여 특정 표 셀을 선택하는 방법
- 19. HTML 민첩성 팩을 사용하여 상위 및 하위 태그 구문 분석
- 20. Html 민첩성 팩을 통해 웹 페이지에서 링크, 텍스트 및 타임 스탬프를 추출하는 방법
- 21. HTML 민첩성 팩
- 22. HTML 민첩성 팩
- 23. HTML 민첩성 팩 내가 내부에서 설명 텍스트를 얻기 위해 HTML 민첩성 팩을 사용하기 위해 노력하고있어
- 24. HTML 민첩성 팩 입력
- 25. HTML 민첩성 팩을 사용하여 동적으로 html 코드를 구문 분석하는 방법은 무엇입니까?
- 26. HTML 민첩성 팩 대 정규식
- 27. html 민첩성 팩 dll
- 28. HTML 태그에서 가치를 얻으십시오 (tinymce 4.x)
- 29. 대시 - 위젯에서 가치를 얻으십시오.
- 30. RSS의 민첩성 팩을 사용하여 목록에 RSS 및 쇼 요소를 다운로드하십시오.
Fizzler을 사용
는난 HTML을 민첩성 팩을 기반으로 한 믿습니다. 나는 이것을 분해하고 InnerText를 버리고 노드에 foreach를 수행하고 노드가 있고 그 안에 무엇이 있는지 디버그합니다. – Harrison
비슷한 문제가 있었는지 확인해주세요. (http://stackoverflow.com/questions/30805833/inspect-element-from-my-wpf-webbrowser-using-inspect-elementsie-chrome-fir) – user254197