c# – 如何使用CsQuery从HTML获取javascript变量值

如何使用CsQuery从DOM获取
javascript变量值?

<script type="text/javascript">
    dealerdata = "HelloWorld"
</script>

最佳答案 CsQuery只解析HTML – 而不是javascript.因此,您可以轻松地获取脚本块的内容,如下所示:

CQ dom = @"<script type='text/javascript'>
               dealerdata = 'HelloWorld'
           </script>";

var script = dom["script"].Text();
// script == "dealerdata = 'HelloWorld'

…但是你是自己的,它是JavaScript.在你的例子中,这将是微不足道的:

string[] parts = script.Split('=');
string value = parts[1].Trim();

..但这只是因为你确切知道输入的样子.对于您不确定目标可能位于何种上下文的典型用例,这对您没有多大帮助.

如果您需要解析.NET中的Javascript,我建议使用Jurassic项目,这是一个非常棒的JavaScript编译器.如果速度至关重要,请查看javascript.net.这包含了谷歌的V8引擎,比侏罗纪要快很多,但是会有非.NET依赖性.

点赞