0

我正在尝试获取特定网页的选择元素,但我无法做到这一点。

到目前为止,这是我的代码。我试图在网页中获取包含名称“postalDistrictList”的选择元素,但我的代码都不起作用。

我也试过 htmlweb.DocumentNode.SelectNodes("//select") 但这返回 null。

有谁知道我该怎么做?

        static void Main(string[] args)
        {
            HtmlNode.ElementsFlags.Remove("option");
            HtmlWeb htmlweb = new HtmlWeb();
            HtmlDocument html = htmlweb.Load("https://www.ura.gov.sg/realEstateWeb/realEstate/pageflow/transaction/submitSearch.do");


//            HtmlNode bodyNode = html.DocumentNode.SelectNodes("//select");
            HtmlNode bodyNode = html.DocumentNode.SelectSingleNode("/html/body");
            HtmlNode selectNode = html.GetElementbyId("postalDistrictList");
            HtmlNodeCollection selectNodes = html.DocumentNode.SelectNodes("//select[@name='postalDistrictList']");
//          HtmlNode selectNode = html.DocumentNode.SelectSingleNode("//select[@name='postalDistrictList']");
             HtmlNode node = selectNode;
//            foreach (HtmlNode node in selectNodes)
            {
                Console.Out.Write(node.Attributes["options"].Value);
                Console.Out.WriteLine();
            }
        }
4

1 回答 1

0

试试 XPath //./select[@name='postalDistrictList'],即

HtmlNodeCollection selectNodes = html.DocumentNode.SelectNodes("//./select[@name='postalDistrictList']");

应该可以帮助您获得您正在寻找的选择元素的集合。

于 2012-07-10T04:38:16.710 回答