我使用HtmlDocument
加载了HtmlWeb
。我知道我可以使用SelectNodes()
方法获取所有隐藏的输入字段。但我不想得到所有隐藏的输入,如“__VIEWSTATE”或“__EVENTTARGET”。我该如何过滤它们?
代码:
HtmlWeb web = new HtmlWeb();
HtmlDocument doc = web.Load(url);
HtmlNodeCollection hiddenFieldNodes = doc.DocumentNode.SelectNodes("//input[@type='hidden']");
编辑: 我可以应用任何XPath来过滤隐藏的输入字段吗?
答案 0 :(得分:0)
您可以使用以下xpath
忽略任何Asp.NET特殊隐藏字段。它们的所有特殊字段的名称都以两个下划线开头:
HtmlWeb web = new HtmlWeb();
HtmlDocument doc = web.Load(url);
HtmlNodeCollection visibleFieldNodes = doc.DocumentNode.SelectNodes("//input[not(starts-with(@name, '__'))]");