我有一个登录门户网站的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]++;
}
答案 0 :(得分:0)
我想简单修复:
用if
替换if子句以外的所有内容HtmlElement expectedElement webBrowser2.Document.GetElementById(expected);