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

本文关键字:加载 HTML 登录 | 更新日期: 2023-09-27 18:28:19

我有一个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]++;
}

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

我想很容易修复:

用替换了除if子句之外的所有内容

HtmlElement expectedElement webBrowser2.Document.GetElementById(expected);