Html Agility Pack を使用して、特定のクラスと ID を持つ div が存在するかどうかを確認しています。
string target = "http://192.168.3.230/index.htm";
WebClient client = new WebClient();
string html = client.DownloadString(target);
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(html);
if (doc.DocumentNode.SelectSingleNode("//div[@id='bit0' and @class='rledoff']") != null){
//actions in here
}
else if (doc.DocumentNode.SelectSingleNode("//div[@id='bit0' and @class='rledon']") != null)
{
//actions in here
}
現在、else if は true である必要がありますが、if ステートメントでアクションを実行しています。私がやったとき、私はこの作品を正しく見ました
doc.Load("c:\\somelocaldest\\page.htm");
サイトのローカルに保存されたファイルではなく、実際のサイトから実行しようとすると、ID が正しいことがわかり、クラスが無視されます。ローカル ファイルの html を取得する場合と外部サイト/デバイスから取得する場合で、動作が異なる原因は何ですか?