HtmlAgilityPack을 사용할 때 Chrome 사본 XPath가 null을 반환합니다.

c# html-agility-pack xpath

문제

https://stackoverflow.com/a/18066671 여기에 주어진 답변을 따르고 있습니다.

string Url = "http://www.owgr.com/ranking";
        HtmlWeb web = new HtmlWeb();
        HtmlDocument doc = web.Load(Url);
        string worldRanking = doc.DocumentNode.SelectNodes("//*[@id=\"ranking_table\"]/div[2]/table/tbody/tr[1]/td[1]")[0].InnerText;

그러나 Xpath는 null 참조를 반환합니다. 몇 가지 변형을 시도했지만 아무것도 작동하지 않습니다. 전에 XPath를 사용한 적이 없습니다. 뭔가 빠졌습니까?

수락 된 답변

이 테이블에는 <tbody/> 요소가 없으므로 /tbody 축 단계를 제거하면 쿼리가 완전히 작동합니다. " 내 XPath 쿼리 (HTML 테이블 스크래핑)가 파이어 버그에서만 작동하지만 내가 개발중인 애플리케이션이 아닌 이유는 무엇입니까? "를 참조하십시오.

추가 힌트 : XPath는 문자열에 작은 따옴표도 지원하므로 큰 따옴표를 이스케이프 할 필요가 없습니다.

이 XPath 표현식은 찾고자하는 요소를 반환합니다.

//*[@id='ranking_table']/div[2]/table/tr[1]/td[1]


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