C#做网页抓取的时候后台执行js

  using System.Reflection;

  public string GetJsString(string msg)

        {

            Type obj = Type.GetTypeFromProgID("ScriptControl");

            if (obj == null) return null;

            object ScriptControl = Activator.CreateInstance(obj);

            obj.InvokeMember("Language", BindingFlags.SetProperty, null, ScriptControl, new object[] { "JavaScript" });

            StringBuilder js = new StringBuilder(" function jsAction(msg){ return msg;}");

            obj.InvokeMember("AddCode", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { js.ToString() });

            return obj.InvokeMember("Eval", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { "jsAction('"+msg+"');" }).ToString();

        }   

猜你喜欢

转载自www.cnblogs.com/walk-memory/p/9106492.html