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

关于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

    评论

报告相同问题?

悬赏问题

  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 arduino控制ps2手柄一直报错
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 求chat4.0解答一道线性规划题,用lingo编程运行,第一问要求写出数学模型和lingo语言编程模型,第二问第三问解答就行,我的ddl要到了谁来求了
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题