2012-07-02 118 views
0

我正在C#中构建一个应用程序来从我的银行帐户中检索信息。到目前为止,我可以连接到我的银行帐户https://accesd.desjardins.com。我先输入我的卡号,然后输入另一页上的密码。就像这样:如何使用C#获取页面的html源代码?

private void newweb_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) 
    { 
     switch (iStages) 
     { 
      case 1: 
       newweb.Document.GetElementById("card_num").SetAttribute("value", strCardNum); 
       newweb.Document.GetElementById("ch_but_logon").InvokeMember("click"); 
       iStages = 2; 
       break; 
      case 2: 
       newweb.Document.GetElementById("passwd").SetAttribute("value", psswd); 
       newweb.Document.GetElementById("ch_but_logon").InvokeMember("click"); 
       iStages = 3; 
       break; 
     } 

    } 

但是,一旦我为我的银行帐户页面上,我不能不再使用newweb.Document.GetElementById(..)来检索任何HTML标记或元素。我想获得我的总金额。但是当我尝试获取页面的任何元素时,我总是得到一个空元素。当我试图在Chrome上获取页面的HTML源代码时,我得到了一个页面的html源代码,表示我没有权限查看页面的源代码(这是我的银行帐户的源代码) 。我想知道如何用C#以任何方式获取源代码。由于浏览器可以显示网页,因此确实有这样做的方法。它必须阅读的源代码,以显示它...

感谢

回答

1

这是你在找什么:

mshtml.HTMLDocument htmlDoc = (mshtml.HTMLDocument)wb.Document.DomDocument; 
var yourValue = htmlDoc.getElementById("[SomeID"); 
+0

我仍然收到页面​​的HTML源代码,说我没有权限!有点奇怪。 – yhcowboy

0

我以前碰到类似的事情。您需要确保您发送每个Web请求的cookies。银行存储用作您登录的标志的cookie。另外,连接使用SSL,因此请确保您在代码中考虑了这一点。

相关问题