2014-02-20 216 views
0

我正試圖編寫一個程序,可以管理我的登錄工作。我會在窗體中使用WebBrowser控件,但某些位置只能在IE中使用。我已經使用VBA在Excel中工作,我只是試圖轉移到更快速的工作。VB.Net網頁與IE瀏覽器登錄

我的代碼如下:

Public Sub New() 
    Me.name = "Name" 
    Me.url = "web address" 
    Me.log = "test" 
    Me.pass = "test123" 
End Sub 

Public Overrides Sub Login() 
    Me.IE = CreateObject("InternetExplorer.Application") 
    IE.Visible = False 
    IE.Navigate(Me.url) 
    Do While IE.ReadyState <> IE_READY.READYSTATE_COMPLETE 
     System.Threading.Thread.Sleep(1000) 
    Loop 
    IE.Visible = True 
    'here is where it breaks 
    IE.Document.GetElementsByName("username").SetAttribute("value", Me.log) 
    IE.Document.GetElementsByName("password").SetAttribute("value", Me.pass) 
End Sub 

一切正常,截止到這種地步我嘗試寫日誌中的字段。

的登錄域的HTML:

<form id="loginform" method="post" action="/Home/in"> 
    <label for="username">Username</label> 
    <input type="text" class="validate[required]" name="username" id="username" disabled="disabled" value="" /> 
    <label id="password-label" for="password">Password</label> 
    <input type="password" class="validate[required]" name="password" id="password" disabled="disabled" /> 
</form> 

回答

0

請嘗試以下方法:

IE.Document.GetElementsByName("username").Value= Me.log

IE.Document.GetElementsByName("password").Value= Me.pass

這可能適合你