2014-02-20 130 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

这可能适合你