P粉7295188062023-09-06 09:17:49
TLDR:
HtmlWeb
지시해야 합니다(또는 적합한 HTTP 클라이언트를 사용하십시오) 분명히 SelectSingleNode()
调用返回null
노드를 찾을 수 없기 때문입니다.
이 경우 로드된 HTML을 검사하는 것이 도움이 됩니다. htmlDoc.DocumentNode.InnerHtml
값을 가져오면 이를 수행할 수 있습니다. 나는 이것을 시도했지만 생성된 "HTML"은 의미가 없습니다.
이유는 HtmlWeb
기본적으로 수신된 응답의 압축을 풀지 않기 때문입니다. 자세한 내용은 thisgithub 문제를 참조하세요. 적절한 HTTP 클라이언트(예: this one)를 사용했거나 HtmlAgilityPack 개발자가 보다 적극적이었다면 이 문제가 발생하지 않을 것이라고 생각합니다.
HtmlWeb
를 계속 사용하려는 경우 코드는 다음과 같아야 합니다.
찾고 있는 요소의 클래스는 실제로 priceValue
(末尾有一个空格字符),页面中还有另一个类为priceValue
的div
라는 점에 유의하세요. 하지만 이는 또 다른 질문이며 결국에는 보다 강력한 선택기를 찾을 수 있을 것입니다. 아마도 이것을 시도해 보세요: