通过门户登录并尝试加载HTML

时间:2013-08-20 17:39:06

标签: c# html html-agility-pack

我有一个登录门户网站的C#程序,然后需要测试页面上是否存在具有特定ID的元素。为了测试这一点,我从页面中获取HTML并在HTML中搜索具有匹配ID的元素。

但是,每当我尝试使用此脚本访问HTML时,它始终返回门户网站登录页面的HTML,而不是通过门户网站登录后的页面。我可以100%确认该程序正在登录门户网站,但由于某种原因,它仍然返回错误的HTML。

HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
WebClient client = new WebClient();
string html = client.DownloadString(this.currentStepUrl);
doc.LoadHtml(html);
var foo = (from bar in doc.DocumentNode.DescendantNodes()
          where bar.GetAttributeValue("id", null) == expected
          select bar).FirstOrDefault();
if (foo != null)
{
    currentTestCaseResults[0]++;
}
else
{
    currentTestCaseResults[1]++;
}

1 个答案:

答案 0 :(得分:0)

我想简单修复:

用if

替换if子句以外的所有内容
HtmlElement expectedElement webBrowser2.Document.GetElementById(expected);