我在C#中使用AngleSharp来模拟Web浏览器。出于调试目的,有时我想看到我正在遍历的页面。我问是否有一种简单的方法可以在Web浏览器中显示当前文档(最好是系统的默认浏览器),如果可能的话,还有当前的cookie状态。
答案 0 :(得分:1)
我参加派对的时间已经很晚了,但希望有人会觉得我的回答很有用:简短的回答是否定的,答案很长,是的 - 有些工作可能是有限的。
如何使它成为可能?通过向AngleSharp中注入一些代码来打开(本地)Web服务器。然后可以在任何web浏览器(例如,系统的默认浏览器)中检查来自此Web服务器的内容。
注入的本地Web服务器将在其根(例如,http://localhost:9000/)处提供当前文档,以及HTTP头中的所有辅助信息(例如,cookie状态)。这种方法的问题在于我们要么传输文档的原始源,要么像AngleSharp所见的那样传输DOM的序列化。因此,可能存在一些偏差,可能不是您想要的。或者,服务器可以发出JS代码,复制AngleSharp当前看到的内容(但是,标准调试似乎更可行)。
然而,任何方法都需要一些(乏味的)工作,因此需要证明其合理性。由于你想“看到”页面,我想CSS渲染器会更有趣(也可以嵌入任何应用程序或以VS扩展的形式提供)。
希望这有帮助!