终于用 C# 把 WebBrowser 页面中的 js 变量取出来了!

来源:互联网 发布:阿里云选择镜像 编辑:程序博客网 时间:2024/05/03 07:05

    通过 WebBrowser 可以在页面中执行 js 函数,与取得 js 变量值还是有一定距离,考虑到既然可以获取页面元素,为什么不通过页面元素曲线救国呢?马上行动。

   1  用万能的 eval 自定义一个函数,用来完成需要的操作

  2 再用 eval 调用定义的函数传入特定的参数:

public static string htmlid = Guid.NewGuid().ToString();private string GetJsVar(WebBrowser webBrowser1, string varname){    if (webBrowser1.Document == null)return "No document";    webBrowser1.Document.InvokeScript("eval", new[]{ @"CreateHiddenInputForReturn = function(id, val) {var elm = document.getElementById(id);if(elm == null) {elm = document.createElement('INPUT');elm.id = id;elm.type=""HIDDEN"";document.body.insertBefore(elm);}elm.value = eval('typeof('+val.split(/[\[\.]/)[0]+')')=='undefined' ? id : eval(val);}"});    webBrowser1.Document.InvokeScript("CreateHiddenInputForReturn", new[] { htmlid, varname });    HtmlElement obj = webBrowser1.Document.GetElementById(htmlid);    if (obj != null)    {string val = obj.GetAttribute("value");if (val == htmlid)    return "no js var";return val;    }    return "null";}


 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 被竹叶青蛇咬了怎么办 被眼镜王蛇咬了怎么办 被黄蜂蛰了怎么办消肿 被黑色黄蜂蜇了怎么办 手指被黄蜂蛰了怎么办 被马蜂蛰了肿了怎么办 给青竹蛇咬了怎么办 被青竹蛇咬了怎么办 孕早期吃了桂皮怎么办? 怀孕后吃了八角怎么办 孕妇吃了点八角怎么办 煮粥老是溢出来怎么办 6个月的小孩咳嗽怎么办 10个月婴儿咳嗽怎么办 6个月婴儿感冒了怎么办 六个月宝宝有痰怎么办 9月婴儿牛奶过敏怎么办 一用粉底就过敏怎么办 7个月婴儿过敏怎么办 9个月宝宝腹泻怎么办 9个月宝宝拉肚子怎么办 5个月宝宝拉肚子怎么办 九个月大宝宝拉肚子怎么办 九个半月的宝宝拉肚子怎么办 9个月婴儿拉稀怎么办 九个月的宝宝拉肚子怎么办 9个月宝宝拉稀水怎么办 2岁宝宝腹泻拉水怎么办 18个月宝宝拉水怎么办 2个月宝宝拉稀水怎么办 2个月的宝宝腹泻怎么办 2个月的宝宝拉稀怎么办 宝宝不喝补液盐怎么办 4个月宝宝腹泻怎么办 6个月宝宝腹泻怎么办 四个月的宝宝拉肚子怎么办 7个月婴儿便秘怎么办 宝宝9个月拉肚子怎么办 2个月宝宝拉肚子怎么办 4个月宝宝没奶怎么办 宝宝又吐又拉怎么办