xuzo

How to fill out web(any) form without using tabs and keystrokes {tab} to navigate to fields?

3 posts in this topic

I need to populate my website, and I use {tab}{tab}{tab}{tab} to get to the fields and then fill them with text.

But I find it a unreliable, is there a way to "Paste" text in all the fields in one shot?

A little like password managers like Roboform and Last Pass do?

I there a way to target the field from it's html handle?

 

Share this post


Link to post
Share on other sites



Look in the help file at all of the _IE functions.

Share this post


Link to post
Share on other sites

I've been using the _IE Functions with a few programs I've wrote, too... but I'm afraid they will become broken later... is AutoIt being updated anytime with the idea in mind that IE is being phased out later in Win 10?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Similar Content

    • BobSherman
      By BobSherman
      I am attempting to enter the logon ID and password into the form below and submit it.
      But, I am experiencing an error in IE.au3 whether I use _IEAction to submit a click (which does submit the form) or _IEFormSubmit (which does not submit the form before it errors out).
      The form seems rather simple:
      <form method="post" action="logon_submit.php">
                             <input type="hidden" name="visit" value="sRhvMItOu1hNV_y9t4iB7xhns2UJ0pUIYmpJyy3CivjvGYv0ST1QHY40QP9H5UPTqonadminkin_65dvtXxSIXDPwyFFI6WPVQFmgFtba8vW3OH">
      <table width="100%" border="0" cellpadding="0" align="center" cellspacing="0">
                          <tr>
                            <td valign=top><table width="100%" border="0" cellpadding="4" cellspacing="1">
                                <tr>
                                  <td align="Right"><b>Username: <span class="style1">*</span></b></td>
                                  <td width="80%"><input type="TEXT" name="user" style="width: 90%;">
                                  </td>
                                </tr>
                                <tr>
                                  <td align="Right"><b>Password: <span class="style1">*</span></b></td>
                                  <td><input type="password" name="pass" style="width: 90%;">
                                  </td>
                                </tr>
                                <tr>
                                  <td align="Right">&nbsp;</td>
                                  <td><input type="submit" name="Submit" value="Submit Form">
                                  </td>
                                </tr>
                                <tr>
                                  <td align="Right">&nbsp;</td>
                                  <td><a href="resetpw.php?visit=sRhvMItOu1hNV_y9t4iB7xhns2UJ0pUIYmpJyy3CivjvGYv0ST1QHY40QP9H5UPTqonadminkin_65dvtXxSIXDPwyFFI6WPVQFmgFtba8vW3OH" class=white>Forgot your password ?</a></td>
                                </tr>
                              </table>
                                <p>&nbsp;</p>
                            </td>
                          </tr>
                        </table>
                      </form>
       
      My function to perform the logon is:
       
      Func StartUp()
         _IELinkClickByText ( $oIE, "Log On" )
         Sleep(2000)
         Local $oForm = _IEFormGetCollection($oIE)
         Local $iNumberOfForms = @extended
         For $iForm = 0 To $iNumberOfForms - 1
           $oForm = _IEFormGetCollection($oIE, $iForm)
           Local $oQuery = _IEFormElementGetCollection($oForm)
           Local $iNumberOfFormElements = @extended
           For $iElement = 0 to $iNumberOfFormElements - 1
               Local $oFormElement = _IEFormElementGetCollection($oForm, $iElement )
               If $oFormElement.name = 'user' Then
                  _IEFormElementSetValue ( $oformElement, "xxxxx", 0)
               elseif $oFormElement.name = "pass" Then
                  _IEFormElementSetValue ( $oFormElement, "yyyyy", 0)
                  ; Sleep for 2 seconds.
                  Sleep(2000)
                  Local $oSubmit = _IEGetObjByName($oIE, "Submit")
                  _IEAction($oSubmit, "click")
                  Sleep(3000)
               EndIf
            Next
         Next
      EndFunc
       

      After the submission of the form completes and goes to the next page I'm getting the following error as a popup from AutoIt:
       

      Line 970 (File "D\Program Files (x86)\AutoIt3\Include\IE.au3"):
      Case $iIndex > -1 And $iIndex < $oObject.elements.length
      Case $iIndex > -1 And $iIndex < $oObject^ ERROR
      Error: The requested actions with this object has failed.

      It's hard to imagine that such a simple form is causing so many problems.
      Any help would be appreciated.
       
       
       
    • trampjuicerocks
      By trampjuicerocks
      You get a full set of results in the webpage - as intended. (The search form part of the code works fine) then you do a _IEloadWait after the _IEAction form Submit.
      But nothing changes in the AutoIt HTML.
      Ok - Found Solution. I mean this must be a common problem.
      Use _IEAttach("Title page")
      That will wait for the results properly. And you can now access them in code.
    • monarch684
      By monarch684
      I need to input text and submit a form that popups.  Here is what I got so far but it is not working.
      ; Find Phone Popup $pIE = WinGetTitle("[Active]") $oForm = _IEFormGetObjByName($pIE,"phoneFindListForm") $oSelect = _IEFormElementGetObjByName($oForm, "searchField0") _IEAction($oSelect, "focus") _IEFormElementOptionSelect($oSelect, "numplan.dnorpattern") When this runs I get the following error.
      IE.au3 T3.0-1 Warning from function _IEFormElementGetObjByName, $_IESTATUS_NoMatch --> IE.au3 T3.0-1 Error from function _IEAction(focus), $_IESTATUS_InvalidDataType --> IE.au3 T3.0-1 Error from function _IEFormElementOptionSelect, $_IESTATUS_InvalidDataType --> IE.au3 T3.0-1 Error from function _IEFormGetObjByName, $_IESTATUS_InvalidDataType --> IE.au3 T3.0-1 Error from function _IEFormElementGetObjByName, $_IESTATUS_InvalidDataType --> IE.au3 T3.0-1 Error from function _IEAction(focus), $_IESTATUS_InvalidDataType --> IE.au3 T3.0-1 Error from function _IEFormElementOptionSelect, $_IESTATUS_InvalidDataType I am thinking my issue is getting the _IEFormGetObjByName() correct and the rest of the script will work.  Once the form is submitted the focus should go back to the original form.
    • bird42
      By bird42
      Hello all,
      i need a script to complete surveys for me... something like this:
      open firefox
      go to specified URL
      wait till loaded
      fill forms
      submit
      wait till loaded
      check new URL
      repeat
      Could someone please suggest me the best way to do this?
    • talkfoodtalk
      By talkfoodtalk
      Hi I am trying to submit an IE Form:
      <FORM encType=multipart/form-data method=post name=menuForm action=/nac-cp/default.html><TABLE>
      <TBODY>
      <TR>
      <TD>Inspect:</TD>
      <TD><INPUT onkeydown="if (event.keyCode == 13) {do_menu_form_submit('quickSearch_searchFieldId_');return false;};" title="<accessNode>:<rackId>-<shelfId>-<slotId>-[iMA#/BOND#]<portId> / <label> / <Id> / LABEL=<portlabel> / LBL=<portlabel> / CLABEL=<customerlabel> / CLBL=<customerlabel> / INSP=<Id> / INSPECTION=<Id>" value="BM0LCPLB:1-1-6-36  " type=text name=quickSearch_searchFieldId_> <INPUT type=hidden name=EventSource> <INPUT type=hidden name=stack> <INPUT type=hidden name=currentPosition> <INPUT value=81BF3F3055F23467DA83BE94A943C651.nwanalyser-nac-cp-jboss-slave-1 type=hidden name=JSESSIONID> </TD></TR></TBODY></TABLE></FORM>
      The blow code does not work for me. There is no button for this form. From what I understand "onkeydown="if (event.keyCode == 13)" is the enter button. Does anyone know how I could gracefully send 'enter' to this without Winactivate or some such?
      $na = _IEAttach("myurl.html", "url") Local $oForm = _IEFormGetObjByName($na, "menuForm") Local $oText = _IEFormElementGetObjByName($oForm, "quickSearch_searchFieldId_") _IEFormElementSetValue($oText, "Somedata") _IEAction($oForm, "$oForm")