我需要从网站上删除一些数据,我创建了一个webbrowser,允许用户登录并使用搜索工具,一旦他搜索并获得结果列表,我希望能够获取这些数据并执行进一步分析并具有离线访问权限。
正如我所说,最简单的方法是使用网络浏览器,它开箱即用,登录工作,冲浪工作,然后当我到达适当的页面时,webBrowser.Document
女巫是{{{ 1}}(如果我是正确的)。
但是htmlAgilityPack请求mshtml.HTMLDocumentClass
从一个解析到另一个的最简单方法是什么?请注意webbroser是WPF webbrowser。
答案 0 :(得分:3)
不需要临时额外文件,只需从正确的类解析。
string html = (webBrowser.Document as HTMLDocument).documentElement.innerHTML;
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(html);
从这里开始..快乐报废:)。
答案 1 :(得分:1)
您可以将网站下载为字符串并将其存储在临时文件中,然后使用
将其加载到HtmlAgilityPack.HtmlDocument
类中
HtmlDocument doc = new HtmlDocument();
doc.Load("file.htm");
或直接来自流:
doc.Load(iostream);
或更直接来自字符串:
doc.LoadHtml("<html>...</html>")
我觉得这可能适合你的情况。我相信你的webbrowsercontrol有一个获取完整源代码的方法。