在软件开发过程中,可以使用以下代码来获取到 body 标签中的内容:
document.body.innerHTML
但上述方式无法获取到诸如 head、html 等 body 标签之外的元素内容。如果需要获取整个网页上完整的 html 内容,可以使用以下 JavaScript 代码:
document.documentElement.outerHTML
在 CefSharp 中获取网页的完整 HTML 输出
在 CefSharp 中,可以通过 ChromiumWebBrowser 类型的 GetSourceAsync 方法获取网页的源代码。该方法返回的字符串包含 html 标签,但不包含通过 JavaScript 动态渲染出的内容。
如果想获取包含动态渲染的内容(比如采集场景下),可以通过运行 JavaScript 代码的方式实现:
public static async Task<string> GetDocumentHtml(ChromiumWebBrowser browser) { var result = await browser.EvaluateScriptAsync("document.documentElement.outerHTML"); if (result.Success) { return result.Result.ToString(); } else { return await browser.GetSourceAsync(); } }