Not able to submit a HTML form

musicgold

Board Regular
Hi,

The following code tries to populate the login form of my library account and submit the form.

This code used to work fine until a few months ago. Now I am able to populate the account information but the submit action doesn't seem to work.
On the other hand, if I stop the macro before the submit action and click the submit button manually, I am able to log in.

Why is this happening?

Code:
....
 Dim ObjIE As New SHDocVw.InternetExplorer
 Dim htmlDoc As MSHTML.HTMLDocument
 Dim htmlInput As MSHTML.HTMLInputElement
 Dim htmlColl As MSHTML.IHTMLElementCollection


    Set ObjIE = CreateObject("InternetExplorer.Application")
    ObjIE.Visible = 1
     ObjIE.navigate "https://account.torontopubliclibrary.ca/signin "
    
   
      Do While ObjIE.Busy: DoEvents: Loop
      Do While ObjIE.readyState <> 4: DoEvents: Loop
    

     Set htmlDoc = ObjIE.document
      htmlDoc.getElementById("userId").Value = "23xx98064646xxx4"
      htmlDoc.getElementById("password").Value = ""
     [COLOR="#FF0000"] htmlDoc.getElementById("form_signin").submit[/COLOR]

....








Thanks
 

Domenic

MrExcel MVP
Since the button resides within the Forms collection, you'll need to refer to it via the Document property of the Form object...

Code:
htmlDoc.forms(0).Document.querySelector("button[value='Sign In']").Click
You'll notice that the more efficient querySelector method is used in order to get the button. This eliminates the need to loop through the buttons collection in order to get the desired button.
 
Last edited:

musicgold

Board Regular
Since the button resides within the Forms collection, you'll need to refer to it via the Document property of the Form object...

Code:
htmlDoc.forms(0).Document.querySelector("button[value='Sign In']").Click
You'll notice that the more efficient querySelector method is used in order to get the button. This eliminates the need to loop through the buttons collection in order to get the desired button.
While the button issue is resolved, I am noticing another issue - the userID line. The macro is able to input the userID value in the box when it is run using Excel VBA, but that line of code doesn't seem to when the macro is run as a vbscript. The vbscript is however able to input the password value.

What am I missing?

Thanks
 

Some videos you may like

This Week's Hot Topics

  • Get External Data (long shot question!)
    This is likely a long shot but I am wondering if it is at all possible for Excel to somehow 'change' the contents of a URL that is being linked to...
  • Importing multiple excel files into one spreadsheet
    Hi, I'm trying to import multiple excel files (with the same format into a single spreadsheet) so that each day's file is listed underneath the...
  • Cell Formatting
    Good Morning, I need to format a few different cells in the following manners: A1 has to always add a colon (:) after whatever is typed in by a...
  • How to copy multiple rows using If
    Hi all, I'm very new to VBA and have written this simple code to copy certain cells if a certain cell within that row contains any data. I need...
  • Workbook_Change stopped working !
    I am working on an app to speed up & automate processing of Credit Cards statements. After data is input from a CSV file, it is presented to the...
  • VBA If statement
    Dear All, I have two dates, where I'd like a message box to pop, if the dates are between this criteria. [CODE] sDate1 = #10/1/2019#...
Top