我正在尝试获取特定网页的select元素,但我无法做到这一点。
到目前为止,这是我的代码。 我正在尝试在网页中获取select元素,其中包含名称“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();
}
}
答案 0 :(得分:0)
尝试使用XPath //./select[@name='postalDistrictList'],即
HtmlNodeCollection selectNodes = html.DocumentNode.SelectNodes("//./select[@name='postalDistrictList']");
应该可以帮助您获得您正在寻找的精选元素的集合。