0

我已将 AngleSharp 安装到一个新的 Visual Studio 项目(2017 和 2015)控制台应用程序中。parser.Parse 似乎可以工作(没有例外),但我看不到任何正在运行的脚本。我尝试了一个简单的 console.log 脚本和一些更复杂的脚本。我也没有观察到任何脚本错误。

为什么?我做错了什么?

我希望使用控制台输出作为调试 javascript 的一种方式,就像我在浏览器的开发人员工具窗口中读取控制台窗口一样。如果我还需要做任何特别的事情来使用 AngleSharp 捕获 javascript 错误,请告诉我。

谢谢你。

using AngleSharp;
using AngleSharp.Parser.Html;

namespace TestAngelSharp
{
    class Program
    {
        static void Main(string[] args)
        {
            var config = Configuration.Default.WithJavaScript();
            var parser = new HtmlParser(config);
            var source = @"<!DOCTYPE html>
<html><body><textarea>Test</textarea>
<script>console.log('hi');</script>
</body></html>";
            var document = parser.Parse(source);
        }
    }
}
4

1 回答 1

1

不再包含控制台记录器(这使得该库也是一个与核心库具有相同配置文件的 PCL)。

因此,您可以简单地将配置更改为以下内容:

var config = Configuration.Default.
    WithConsoleLogger(ctx => new Logger()).
    WithJavaScript();

Logger 的定义如下

class Logger : IConsoleLogger
{
    public void Log(Object[] args)
    {
        Console.WriteLine(args);
    }
}

希望这可以帮助!

于 2018-02-05T22:05:23.643 回答