qq_21580549
qq_21580549
采纳率0%
2015-05-29 05:55 阅读 3.6k

关于C#webBrowser 无法获取js元素的问题

生成一个百度HTML如下,并窗口创建的时候执行

 <!DOCTYPE html>
  <html>
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <style type="text/css">
  body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;}
  #l-map{height:100%;width:78%;float:left;border-right:2px solid #bcbcbc;}
  #r-result{height:100%;width:20%;float:left;}
  </style>
  <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.4"></script>
  <title>百度地图的Hello, World</title>
  </head>
  <body>
  <div id="allmap"></div>
  </body>
  </html>
  <script type="text/javascript">
 var map = new BMap.Map("allmap");            // 创建Map实例
var point = new BMap.Point(116.404, 39.915);    // 创建点坐标
map.centerAndZoom(point,15);                     // 初始化地图,设置中心点坐标和地图级别。
map.enableScrollWheelZoom();                            //启用滚轮放大缩小

//单击获取点击的经纬度
map.addEventListener("click",function(e){
 document.getElementById("mouselng").innerHTML=e.point.lng;  
 document.getElementById("mouselat").innerHTML=e.point.lat; 
    //alert(e.point.lng + "," + e.point.lat); //弹出消息显示坐标是可以的
});

 </script>

现在通过C#webBrowser控件


              string tag_lng = webBrowser.Document.GetElementById("mouselng").InnerText;
               string tag_lat = webBrowser.Document.GetElementById("mouselat").InnerText;  想获取 e.point.lng和e.point.lat

但是老是显示innerhtml值为空,而且值也取不出来是为什么呢?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • showbo GoCityPass新加坡曼谷通票 2015-05-29 06:15

    document.getElementById("mouselng").innerHTML=e.point.lng;

    document.getElementById("mouselat").innerHTML=e.point.lat;

    你html页面就没有这个2个对象好不。。就算有这2个对象的值是通过点击事件附加的。如果没有触发过点击事件获取到的也是空值

    点赞 1 评论 复制链接分享
  • oyljerry oyljerry 2015-05-29 06:02

    是不是页面是异步加载的,你取的时候,页面还没ready

    点赞 评论 复制链接分享
  • testcs_dn 微wx笑 2015-11-16 06:19

    直接在浏览器中访问能取到么?

    点赞 评论 复制链接分享

相关推荐