qq_21580549 2015-05-29 05:55 采纳率: 0%
浏览 3713

关于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条回答

  • oyljerry 2015-05-29 06:02
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题
  • ¥15 Python时间序列如何拟合疏系数模型