Cannot InvokeMember on HTML Page

I have a VB Net application that I have been running for over a year to login to a specific website

Heritage Coins & Currency

The page I'm now unable to loging is -->

I am setting the text boxes as follows:

WB1.Document.All("emailAddress").SetAttribute("Value", "sge")
  WB1.Document.All("password").SetAttribute("Value", "7476")

Even though these values do actually display on the screen when I do GetAttribute I see that I have set the values.


When i do InvokeMember as follows NOTHING HAPPENS and I receive no msgs


The HTML code smippet is:

<input id="loginButton" name="loginButton" value="Sign-In" type="submit" tabindex="3">  
  <input name="source" type="hidden" value="" />
  <input name="forceLogin" type="hidden" value="" />

  <input name="loginAction" value="log-in" type="hidden">

I am an inexperienced Net programmer and I do not have a clue how to resolve


Is it possible that the site has been updated and the login form, associated controls and code behind it have been changed?

"Is it possible that the site has been updated and the login form, associated controls and code behind it have been changed?"

NO. THis is consistently recurring over several days

If the login form had been changed a couple of days ago then it WOULD consistanly occur since the change. i.e. everytime.

Do YOU have full control over the site you are trying to log into? In other words, can you guarentee no one has changed the web site or its login page?


First off, change the password on that account immediately and cancel your credit card.

I know very little about this topic, but:

Dim em1 As HtmlElement = wb1.Document.All("emailAddress")
'returns ID: "login-Email_Address" 

Dim pw As HtmlElement = wb1.Document.All("password")
'returns ID: "login-password"

These are not the ID's you wanted.

This does work though:

Dim inputs As HtmlElementCollection = wb1.Document.GetElementsByTagName("INPUT")
Dim emSet, pwSet As Boolean
For Each el As HtmlElement In inputs
   Select Case el.Id
      Case "emailAddress"
         el.SetAttribute("Value", "sge")
         emSet = True
      Case "password"
         el.SetAttribute("Value", "7476")
         pwSet = True
   End Select
   If emSet And pwSet Then Exit For