Hi 大家好,我的问题具体是这样的。
我在项目下 有个 getXY.html的 文件。 把他在 浏览器里 打开以后 就能 获得 自己当前的经度和纬度。
而且 只有 经度和 纬度。 
我把 这些经度纬度放在了 id=position 的div里,这个getXY.html内容像这样
<html>
<head>
 function displayPosition()
 {
    var content = document.getElementById("position");
    content.innerHTML = getPosition();
 }
 function getPosition()
 {
    .........
 }
</head>
<body  onload="displayPosition()"><div id = "position"></id>
</body>
</html>所以 网页显示出来的就是 一个 经度和纬度,比如说是 20,15  没有其他的
那么 我现在 就是想得到 这个 20,15 可是用了 很多种方法 得到的都是 这个 html代码。 请问该怎么办?

解决方案 »

  1.   

    webbrowser.document.body.all("position")
    (c# 4.0语法,之前的需要用 IHtmlElement 之类的转换)
      

  2.   

    楼上的兄弟 你的方法不行。 我正好就在 澳洲,用的 就是正版vs2010 c#4.0
    但是 里面没有像你说的 all("position")这个用法。  我是这么试你的方法的
    可还是不行。  不知道 你回帖之前  有没有自己试过自己的 代码能用吗?
            WebBrowser wb;
            private void Form1_Load(object sender, EventArgs e)
            {
                string path = System.Environment.CurrentDirectory;
                string map = path + @"\getXY.html";            wb = new WebBrowser();            wb.Navigate(map);
                //wb.Navigated += new WebBrowserNavigatedEventHandler(wb_Navigated);            wb.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(wb_DocumentCompleted);
            }        void wb_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
            {
                HtmlElementCollection col = wb.Document.Body.All;            foreach (HtmlElement ee in col)
                {                Console.WriteLine(ee.InnerText);
                } 
            }
      

  3.   

    webBrowser1.Document.GetElementById("position").InnerText
      

  4.   

    <div id = "position"></id>  
    在DIV里插入个LABLE ,对LABLE 的TEXT进行赋值你看行不行
      

  5.   

    3,4楼, 你们的想法都不行。
    为什么呢,原因是这样的你们的做法 多是从得到的 html代码中 通过id来查找 我要的数值,也就是 过滤html代码了。但是我要说的是。这种做法 是基于 html代码中 已经有你想要的东西了 你才能拿到。
    如果 html中就没有你想要的 东西 你是拿不到的。而在这里,我这个html里就 没有我想要的东西。所以 3楼的那个getElementByID()...还有4楼的 把html加个 label  都是 基于 过滤 html代码的 这种做法 是一律都不行的。
    我那个 经度和纬度 是 利用google map api在运行了网页以后,api自动计算出来 并且后期加入html的那么 你之前获得的那些html里面试没有的。  所以 不管你 怎么get都 get不到的。所以说 要换一种想法来做 才行了。  还有人有想法吗?
      

  6.   

    即然都看到了,说明已经生成了html只是不知道存在什么地方,可以装个html的分析软件,看一下是在什么地方。要是实在不行,就取图版,分析,标准的数字,分析起来也不是太难啊。
      

  7.   

    恩 9楼的方法也未尝不可。  只是想知道 在做到这么一步之前  
    是不是 有些其他的办法?7楼的 过客 正是因为 想这么多 才明白到低 做不出来的原因是什么 所以才来问BBS 是个 问问题的 地方。任何人有问题 都可以来问。 并且没有人强迫你来回答问题。 所有人之所以回答问题 都是因为也对这个问题感兴趣。
    你如果不感兴趣 可以不回帖。不要回帖了 还带这种口气, 很是烦人。我想知道的 是 解决方案 和思路,  不是想知道你的埋怨。
    要埋怨 觉得自己忙 请走开
      

  8.   

    那你就看看getPosition()是调用了哪个JS或者WEBSERVICES,直接使用C#调用了
      

  9.   

    看了 是调用了initialize()这个方法 我用object o = webbrowser.Document.InvokeScript("initialize");但是提示 是个空值
    可是我在 initialize 里面有返回 字符串的数据哦
      

  10.   

    我的意思是使用HttpAnalyzer之类的工具监视HTTP协议,看看是调用了哪个URL,然后你使用HttpWebRequest来调用
      

  11.   

    一步一步分析吧,即然是数据,那就有个请求点,直接发那个地址发送一个请求.  发送请求是,多分析一下,请求头和Cookie