1

我在 C# 中使用AngleSharp来模拟 Web 浏览器。出于调试目的,有时我想查看正在遍历的页面。我在问是否有一种简单的方法可以在 Web 浏览器(最好是系统的默认浏览器)中显示当前文档,如果可能的话,可以使用当前的 cookie 状态。

4

1 回答 1

1

我参加聚会很晚了,但希望有人会发现我的回答很有用:简短的回答是否定的,长的回答是肯定的 - 以有限的方式可能进行一些工作。

如何使它成为可能?通过将一些代码注入到打开(本地)网络服务器的 AngleSharp 中。然后可以在任何网络浏览器(例如,系统的默认浏览器)中检查来自该网络服务器的内容。

注入的本地网络服务器将在其根目录(例如http://localhost:9000/)提供当前文档,以及 HTTP 标头中的所有辅助信息(例如 cookie 状态)。这种方法的问题在于,我们要么传输文档的原始源,要么传输 AngleSharp 所见的 DOM 序列化。因此,可能会有一些偏差,可能不是您想要的。或者,服务器可以发出复制 AngleSharp 当前所见内容的 JS 代码(但是,标准调试似乎更可行)。

然而,任何方法都需要一些(乏味的?)工作,因此需要证明是合理的。由于您想“查看”页面,我猜 CSS 渲染器会更有趣(它也可以嵌入任何应用程序或以 VS 扩展的形式提供)。

希望这可以帮助!

于 2017-12-14T12:44:19.140 回答