我正在开发一个WinForm应用程序,可以自动执行内部网站上的某些任务" xyz.org",当我在网站上运行IE或chrome调试器时,我得到以下代码:
<!DOCTYPE html>
<html>....
<body>
<outer code>....
<div id="embedded">
<iframe name="frame1" id="frame1" src="https://qwe.org" border="0" frameborder="0" style="height: 3675px;">
<!DOCTYPE html>
<html>
<inner code>....
</html>
</iframe>
</div>
</body>
</html>
所以网站xyz有一些脚本最终会调用另一个网站qwe。 我正在使用c#,我正在使用webBrowser控件,我正在尝试解析&#34; FULL&#34; xyz&amp;在IE / Chrome调试器中显示的qwe html文档,这是我的代码:
mshtml.HTMLDocument doc = webBrowser1.Document.DomDocument as mshtml.HTMLDocument;
string html = doc.documentElement.outerHTML;
最后的html字符串显示如下:
<!DOCTYPE html>
<html>....
<body>
<outer code>....
<div id="embedded">
<iframe name="frame1" id="frame1" src="https://qwe.org" border="0" frameborder="0" style="height: 3675px;">
</iframe>
</div>
</body>
</html>
所以缺少的是qwe网站的文档代码:
<!DOCTYPE html>
<html>
<inner code>....
</html>
有没有办法将嵌入的qwe网站中缺少的部分提取到相同的html字符串中,与IE / Chrome调试器相同
答案 0 :(得分:0)
您可以尝试使用c#CEF wrapper https://cefsharp.github.io/来实际加载整个页面并检索代码。实际上似乎有一个子项目需要https://www.nuget.org/packages/CefSharp.OffScreen/
CefSharp.OffScreen提供了“无头”浏览器控件 自动化项目