P粉7295188062023-09-06 09:17:49
TLDR:
HtmlWeb
に指示する必要があります どうやら、SelectSingleNode()
呼び出しでは、ノードが見つからないため、null
が返されます。
この場合、ロードされた HTML を検査すると役に立ちます。これを行うには、htmlDoc.DocumentNode.InnerHtml
の値を取得します。これを実行してみましたが、生成された「HTML」は意味がありません。
その理由は、HtmlWeb
がデフォルトでは受信した応答を解凍しないためです。詳細については、この github の問題を参照してください。適切な HTTP クライアント (this など) を使用していれば、または HtmlAgilityPack 開発者がより積極的であれば、この問題は発生しないと思います。
どうしても HtmlWeb
を使用する場合、コードは次のようになります。
探している要素のクラスは実際には priceValue
(末尾にスペース文字があります) であることに注意してください。クラス priceValue# を持つ別の
がページ上にあります。 ## ディビジョン。ただし、それは別の問題であり、最終的にはより堅牢なセレクターが見つかるはずです。おそらくこれを試してみてください:
リーリー