本人用vs2005做了一个小程序,程序功能是从txt文档中获取充值卡号,填充到datagridview中,然后循环写入到一个ie打开充值卡查询页面,实现自动查询充值卡状态的功能,上面的功能已经实现了,然后需要获取这个页面返回的查询结果,回写到datagridview中,现在的情况是这个查询结果是直接写在页面表格 <td>中,一直没有办法用程序定位这个<td>的位置,各位高手帮帮忙,页面代码如下
     <table width="582"  border="1" bordercolor="#cacaca" style=" border-collapse:collapse;">
      <tr height="30px">   
          <td class="khfw_g_td" width="30%">您查询的充值卡卡号为:</td>   
          <td width="70%">981001046340457</td> 
        </tr>
     
      <tr height="30px">
       <td class="khfw_g_td">充值卡状态:  </td>
       <td>
       
       
       
       
        已充值
       
       
       
       
       
       </td>
        </tr>
        <tr height="30px">
       <td class="khfw_g_td">有&nbsp;&nbsp;效&nbsp;&nbsp;期:  </td>   
       <td>
       2011年12月31日
       </td>    
        </tr>
      
      
      
      
     </table>

解决方案 »

  1.   

    给<td id="xx"> document.getElementById("xx").value
      

  2.   

    恩  那这个页面的布局应该不会变吧 也就是文本内容变动一下,如果这样的话,
    这个表格的结构也不会变化,那么可以这样var tablearr=document.getElementsByTagName("table");
    table[xxx].rows[yy].cells[zz].innterText就可以了吧,xxx,yyy,zz都是索引号 
      

  3.   

    而且我写的程序是cs结构的,不能直接使用JavaScript
      

  4.   

    用过mshtml吗?我在cs程序里面是通过这个操作ie网页的,代码这么写                    mshtml.IHTMLInputTextElement CardSn = (mshtml.IHTMLInputTextElement)DOM.all.item("cardPassword", null);
                        CardSn.value = DgvCardSn.Rows[i].Cells[0].Value.ToString();
                        mshtml.IHTMLFormElement frm = (mshtml.IHTMLFormElement)DOM.forms.item("iform", null);
                        frm.action = "/database/card/queryCard.do";
                        frm.submit();
                        Thread.Sleep(3000);
      

  5.   

    你的这个问题,其实就是一个抓取网页的过程。
    把网页抓成string
    然后用正则匹配你要的数据就可以了。