HtmlAgilityPack如何在<select>中获取SELECTED <option>

时间:2019-10-16 09:18:27

标签: c# html-agility-pack getelementbyid

因此,我试图从选择字段中获取选定的值。

HTML:

<select class= "c_selectfield" id="id_secMode-101" name="secMode-101"><option value="1" >None</option><option value="2" >WPA_PSK_TKIP</option><option value="3" >WPA2_PSK_AES</option><option value="5" SELECTED >WPA2-EAP</option><option value="4"  >WEP</option><option value="7"  disabled>Advanced config</option></select>

在此示例中,选择了WPA2-EAP,我希望程序返回值5。

我的C#函数如下:

        public void Get_Wlan_Settings_Html(HtmlDocument html)
    {

        SSID = html.GetElementbyId("id_Setssid-101").GetAttributeValue("value", "");
        PassKey = html.GetElementbyId("id_wlanMgr_fakePassKey-101").GetAttributeValue("value", "");
        client_user_id = html.GetElementbyId("id_userId-101").GetAttributeValue("value", "");
        eap_PassKey = html.GetElementbyId("id_wlanMgr_fakeEapPwd-101").GetAttributeValue("value", "");

    }

我得到的元素都在同一个html中,它们工作得很好。 但是我如何获得所选的值?

1 个答案:

答案 0 :(得分:0)

您可以使用XPath获得id_secMode-101的选定选项值。

html.DocumentNode.SelectSingleNode("//select[@id='id_secMode-101']//*[@selected='selected']").
Attributes["value"].Value;

有关SelectSingleNode的更多信息。