DaleHohm Posted July 30, 2013 Share Posted July 30, 2013 Can you create a reproducer with real htm files? Then post the code you've tried with that reproducer and I'll take a look.Dale Free Internet Tools: DebugBar, AutoIt IE Builder, HTTP UDF, MODIV2, IE Developer Toolbar, IEDocMon, Fiddler, HTML Validator, WGet, curl MSDN docs: InternetExplorer Object, Document Object, Overviews and Tutorials, DHTML Objects, DHTML Events, WinHttpRequest, XmlHttpRequest, Cross-Frame Scripting, Office object model Automate input type=file (Related) Alternative to _IECreateEmbedded? better: _IECreatePseudoEmbedded Better Better? IE.au3 issues with Vista - Workarounds SciTe Debug mode - it's magic: #AutoIt3Wrapper_run_debug_mode=Y Doesn't work needs to be ripped out of the troubleshooting lexicon. It means that what you tried did not produce the results you expected. It begs the questions 1) what did you try?, 2) what did you expect? and 3) what happened instead? Reproducer: a small (the smallest?) piece of stand-alone code that demonstrates your trouble Link to comment Share on other sites More sharing options...
ckelsoe Posted July 30, 2013 Author Share Posted July 30, 2013 I cannot provide the many html files that make up this dom due to security. Link to comment Share on other sites More sharing options...
DaleHohm Posted July 30, 2013 Share Posted July 30, 2013 You don't need to supply the actual data. Mock something up with the same structure. Dale Free Internet Tools: DebugBar, AutoIt IE Builder, HTTP UDF, MODIV2, IE Developer Toolbar, IEDocMon, Fiddler, HTML Validator, WGet, curl MSDN docs: InternetExplorer Object, Document Object, Overviews and Tutorials, DHTML Objects, DHTML Events, WinHttpRequest, XmlHttpRequest, Cross-Frame Scripting, Office object model Automate input type=file (Related) Alternative to _IECreateEmbedded? better: _IECreatePseudoEmbedded Better Better? IE.au3 issues with Vista - Workarounds SciTe Debug mode - it's magic: #AutoIt3Wrapper_run_debug_mode=Y Doesn't work needs to be ripped out of the troubleshooting lexicon. It means that what you tried did not produce the results you expected. It begs the questions 1) what did you try?, 2) what did you expect? and 3) what happened instead? Reproducer: a small (the smallest?) piece of stand-alone code that demonstrates your trouble Link to comment Share on other sites More sharing options...
ckelsoe Posted August 2, 2013 Author Share Posted August 2, 2013 Question on this - where there is a form with nested tables in it and the input field I want to fill is in one of the nested tables - do I have to create objects for each of the nested tables first or can I just go to the form object directly? I have tried a bunch of variations with no success and wanted to clarify that part as I try to figure out where the code is breaking. Link to comment Share on other sites More sharing options...
DaleHohm Posted August 3, 2013 Share Posted August 3, 2013 The only time you need to create a reference to a parent object first is when you are drilling into frames.Dale Free Internet Tools: DebugBar, AutoIt IE Builder, HTTP UDF, MODIV2, IE Developer Toolbar, IEDocMon, Fiddler, HTML Validator, WGet, curl MSDN docs: InternetExplorer Object, Document Object, Overviews and Tutorials, DHTML Objects, DHTML Events, WinHttpRequest, XmlHttpRequest, Cross-Frame Scripting, Office object model Automate input type=file (Related) Alternative to _IECreateEmbedded? better: _IECreatePseudoEmbedded Better Better? IE.au3 issues with Vista - Workarounds SciTe Debug mode - it's magic: #AutoIt3Wrapper_run_debug_mode=Y Doesn't work needs to be ripped out of the troubleshooting lexicon. It means that what you tried did not produce the results you expected. It begs the questions 1) what did you try?, 2) what did you expect? and 3) what happened instead? Reproducer: a small (the smallest?) piece of stand-alone code that demonstrates your trouble Link to comment Share on other sites More sharing options...
ckelsoe Posted August 3, 2013 Author Share Posted August 3, 2013 Ok so this code should work as I get to the point of clicking the "Edit" text which is in the same Frame. Local $URL = $NexsureURL ; Finds the Nexsure instance to use. Local $oIE = _IECreate($URL, 1, 1, 1, 1) ;~ Get to first iFrame Local $oFirstFrame = _IEFrameGetObjByName($oIE, "main") ;~ Get to the iFrame holding the center section of the service page Local $oMiddleFrame = _IEFrameGetObjByName($oFirstFrame, "middle") ;~ Look for the word Edit in a link on the middle frame. Click the link when it is found. Local $oLinks = _IELinkGetCollection($oMiddleFrame) For $oLink In $oLinks Local $sLinkText = _IEPropertyGet($oLink, "innerText") If StringInStr($sLinkText, "Edit") Then _IEAction($oLink, "click") ExitLoop EndIf Next ; _IELoadWait($oMiddleFrame, 750) Sleep 10000 ; Giving a huge amount of time for the ; Work with the Edit frame - update description ; Local $oDivContent = _IEFrameGetObjByName($oMiddleFrame, "divContents") ; Local $oServiceEditFrame = _IEFrameGetObjByName($oDivContent, "contents") Local $oEditForm = _IEFormGetObjByName($oMiddleFrame,"edits") Local $oQuery = _IEFormGetObjByName($oEditForm,"desc") _IEFormElementSetValue($oQuery, "133") I even reinitialized the frame variables since there was a page or frame refresh in the process. The code below is from oMiddleFrame above. expandcollapse popup<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title></title> </head> <body> <form name="form1" method="post" action="services.aspx?policy_id=1021100&lob_id=12" id="form1"> <div><input name="__VIEWSTATE" id="__VIEWSTATE" value="G0jM3i" type="hidden"></div> <div> <!--Top Tab--> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tbody> <tr> <td> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tbody> <tr> <td rowspan="2" align="left" valign="bottom" width="10"><img src="/images/g-box-topleft2.gif" border="0" height="13" width="10"></td> <td bgcolor="#cccccc" height="1"><img src="/images/g-box-greyline2.gif" border="0" height="1" width="9"></td> <td rowspan="2" valign="top" width="1"><img src="/images/g-box-topright2.gif" border="0" height="13" width="10"></td> </tr> <tr> <td bgcolor="#ffffff" height="9" width="1"><font color="#000000" face="verdana, arial" size="1"><a class="TabText10"><b>servicing</b></a></font></td> <td width="100%"><font face="verdana" size="1"> </font></td> <td width="10"><font fact="verdana" size="1"> </font></td> </tr> <tr> <td bgcolor="white" valign="top"> <table style="height: 10px;" border="0" cellpadding="0" cellspacing="0"> <tbody> <tr> <td style="border-left: 1px solid rgb(211, 211, 211); font-size: 1px;" width="1"> </td> <td style="border-top: 1px solid white; font-size: 1px;" width="9"> </td> </tr> </tbody> </table> </td> <td style="border-top: 1px solid white; font-size: 1px;" bgcolor="white" width="10"> </td> <td style="border-top: 1px solid white; font-size: 1px;" bgcolor="white"> </td> <td style="border-top: 1px solid rgb(211, 211, 211); font-size: 1px;" bgcolor="white"> </td> <td style="border-top: 1px solid rgb(211, 211, 211); font-size: 1px;" bgcolor="white"> </td> <td align="right" bgcolor="white" valign="top" width="10"><img src="/images/g-box-topright.gif" border="0" height="10" width="10"></td> </tr> </tbody> </table> </td> </tr> <tr> <td style="border-left: 1px solid rgb(211, 211, 211); border-right: 1px solid rgb(211, 211, 211); padding-right: 10px; padding-left: 10px;" bgcolor="white"> <div id="divContent" name="divContent"> <!--End Top Tab--> <table cellpadding="0" cellspacing="0" height="100%" width="100%"> <tbody> <tr> <td valign="top"> <!--Menu tab--> <table cellpadding="0" cellspacing="0" height="100%" width="100%"> <tbody> <tr> <td bgcolor="#000000" height="100%" valign="top"> <table id="Table12" class="service" cellpadding="2" cellspacing="1" width="100%"> <tbody> <tr class="header" style="background-color: rgb(255, 255, 204);"> <td align="center"><font face="verdana" size="1"><b>Services</b></font></td> </tr> <tr class="odd"> <td style="background-color: rgb(255, 255, 204);" align="center" height="20"> <a id="lnkMarketing" onclick="menuClick(this);" href="XXXXXXX" target="contents"><font face="verdana" size="1"><b>Menu A</b></font></a> </td> </tr> <tr class="even"> <td style="background-color: rgb(255, 255, 204);" align="center" height="20"> <a id="lnkMarketAnalysis" onclick="menuClick(this);" href="XXXXXXX" target="contents"><font face="verdana" size="1"><b>Menu B</b></font></a> </td> </tr> <tr class="odd"> <td style="background-color: rgb(255, 255, 204);" align="center" height="20"> <a id="lnkBinders" onclick="menuClick(this);" href="XXXXXXX" target="contents"><font face="verdana" size="1"><b>Menu C</b></font></a> </td> </tr> <tr class="even"> <td style="background-color: rgb(255, 204, 204);" align="center" height="20"> <a id="lnkEdit" onclick="menuClick(this);" href="XXXXXXX" target="contents"><font face="verdana" size="1"><b>Edit</b></font></a> </td> </tr> <tr class="odd"> <td style="background-color: rgb(255, 255, 204);" align="center" height="20"> <a id="lnkEndorsement" onclick="menuClick(this);" href="XXXXXXX" target="contents"><font face="verdana" size="1"><b>Menu E</b></font></a> </td> </tr> <tr class="even"> <td style="background-color: rgb(255, 255, 204);" align="center" height="20"> <a id="lnkRenewal" onclick="menuClick(this);" href="XXXXXXX" target="contents"><font face="verdana" size="1"><b>Menu F</b></font></a> </td> </tr> <tr class="odd"> <td style="background-color: rgb(255, 255, 204);" align="center" height="20"> <a id="lnkCancellation" onclick="menuClick(this);" href="XXXXXXX" target="contents"><font face="verdana" size="1"><b>Menu G</b></font></a> </td> </tr> <tr class="even"> <td style="background-color: rgb(255, 255, 204);" align="center" height="20"> <a id="lnkClaim" onclick="menuClick(this);" href="XXXXXXX" target="contents"><font face="verdana" size="1"><b>Menu H</b></font></a> </td> </tr> <tr class="odd"> <td style="background-color: rgb(255, 255, 204);" align="center" height="20"> <a id="lnkAudit" onclick="menuClick(this);" href="XXXXXXX" target="contents"><font face="verdana" size="1"><b>Menu I</b></font></a> </td> </tr> <tr class="even"> <td style="background-color: rgb(255, 255, 204);" align="center" height="20"> <a id="lnkCertificates" onclick="menuClick(this);" href="XXXXXXX" target="contents"><font face="verdana" size="1"><b>Menu J</b></font></a> </td> </tr> <tr class="odd"> <td style="background-color: rgb(255, 255, 204);" align="center" height="20"> <a id="lnkRenewalCertificates" onclick="menuClick(this);" href="XXXXXXXx" target="contents"><font face="verdana" size="1"><b>Menu K</b></font></a> </td> </tr> <tr class="even"> <td style="background-color: rgb(255, 255, 204);" align="center" height="20"> <a id="lnkVerifications" onclick="menuClick(this);" href="XXXXXXX" target="contents"><font face="verdana" size="1"><b>Menu L</b></font></a> </td> </tr> </tbody> </table> </td> </tr> </tbody> </table> <!--End Menu tab--> </td> <td bgcolor="#ffffff" valign="top" width="85%"> <table cellpadding="1" cellspacing="0" height="100%" width="100%"> <tbody> <tr> <td style="background-color: rgb(255, 255, 204);" bgcolor="#000000" height="100%" valign="top"> <!--Frame code for the next frame that contains the form I am trying to get to--> <iframe id="container" src="XXXX.aspx name="contents" frameborder="0" height="500" width="100%"></iframe> </td> <!--End Frame code for the next frame that contains the form I am trying to get to--> </tr> </tbody> </table> </td> </tr> </tbody> </table> <!--Bottom Tab--> </div> </td> </tr> <tr> <td> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tbody> <tr> <td valign="bottom" width="10"><img src="/images/g-box-bottomleft.gif" border="0" height="10" width="10"></td> <td style="border-bottom: 1px solid rgb(211, 211, 211); font-size: 1px;" bgcolor="white" width="100%"> </td> <td style="border-bottom: 1px solid white; font-size: 1px;" bgcolor="white"> </td> <td style="border-bottom: 1px solid white; font-size: 1px;" bgcolor="white"> </td> <td style="border-right: 1px solid rgb(211, 211, 211); border-bottom: 1px solid white; font-size: 1px;" bgcolor="white"> </td> </tr> <tr> <td rowspan="2" width="10"><font face="verdana" size="1"> </font></td> <td rowspan="2" width="100%"><font face="verdana" size="1"> </font></td> <td rowspan="2" valign="top" width="1"><img src="/images/g-box-bottomleft2.gif" border="0" height="13" width="10"></td> <td bgcolor="#ffffff" height="9" width="1"><font color="#000000" face="verdana, arial" size="1"><a class="TabText10"><b>servicing</b></a></font></td> <td rowspan="2" align="right" valign="top" width="1"><img src="/images/g-box-bottomright2.gif" border="0" height="13" width="10"></td> </tr> <tr> </tr> <tr> <td></td> <td></td> <td></td> <td bgcolor="#cccccc" height="1"><img src="/images/g-box-greyline2.gif" border="0" height="1" width="9"></td> <td></td> </tr> </tbody> </table> </td> </tr> </tbody> </table> <!--End Bottom Tab--> </div> </form> </body> </html> The HTML in the file that shows up in the next iframe which contains the input field that I am trying to get to... input name="desc" expandcollapse popup<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title></title> </head> <body onload="validateForm();"> <form action="edits.asp" method="post" name="edits"> <input name="policy_id" value="1021100" type="hidden"><input name="CompleteProcess" value="" type="hidden"> <input name="IsPostBack" value="true" id="Hidden2" type="hidden"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <!--<tr> <td align="left" width="10" colspan="2"><img border="0" src="/images/g-box-topleft2.gif" width="10" height="13" /></td> <td align="left" bgcolor="#ffffe1" colspan="6"> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td bgcolor="#cccccc" height="1"><img border="0" src="/images/g-box-greyline2.gif" width="9" height="1" /></td> <td valign="top" rowspan="2"><img border="0" src="/images/g-box-topright2.gif" width="10" height="13" /></td> </tr> <tr> <td bgcolor="#ffffff" height="9"><font face="verdana" color="#000000" size="1"><b><font color="#000000">edit</font></b></font></td> </tr> </table> </td> </tr> <tr> <td align="left" width="1" bgcolor="#cccccc" rowspan="2"><img height="20" src="/images/g-box-greyline.gif" width="1" border="0" /></td> <td align="left" width="9" bgcolor="#ffffff" rowspan="2"> </td> <td align="right" width="31" bgcolor="#ffffff" nowrap><img height="10" src="/images/g-box-whitefill.gif" width="10" border="0" /></td> <td width="100%" bgcolor="#ffffff" height="10" nowrap><img height="10" src="/images/g-box-topline.gif" width="100%" border="0" /></td> <td width="100%" bgcolor="#ffffff" colspan="2"><img height="10" src="/images/g-box-topline.gif" width="100%" border="0" /></td> <td align="right" width="10" colspan="2"><img height="10" src="/images/g-box-topright.gif" width="10" border="0" /></td> </tr>--> <tbody> <tr> <td align="left"> <font face="verdana" size="1">This option is used to make changes or corrections that do not require a change request.</font> </td> <td colspan="3" align="right"> <input value="Generate Edit" id="btnCreate" name="btnCreate" onclick="this.disabled=true;submitPage();" class="FormButton" disabled="disabled" type="button"> </td> </tr> <tr> <td colspan="4"> <table> <tbody> <tr> <td align="right" valign="top" width="50%"><font face="verdana" size="1">Enter the effective date of the edit:</font> </td> <td> <table cellpadding="0" cellspacing="0"> <tbody> <tr> <td><input name="EffDate" value="08/02/2013" maxlength="10" size="10" tabindex="1" onblur="javascript:IsValidDate(this)" class="FormTextInput" type="text"> </td> <td><a href="javascript:calPopup2('edits','EffDate')"><img src="/images/g-calendar.gif" border="0"></a></td> </tr> </tbody> </table> </td> </tr> <tr> <td align="right" valign="top"><font face="verdana" size="1">Enter a brief description of the edit:</font> </td> <td> <input name="desc" value="Process edit." maxlength="95" id="txtDescription" tabindex="3" style="width: 99%;" class="FormTextInput" onchange="document.forms(0).memo.value = this.value" type="text"><font face="verdana" size="1"><i>Note: This information will populate the action description field.</i></font> </td> </tr> <tr> <td align="right" valign="top"><font face="verdana" size="1">Enter additional notes to populate the action memo section:</font> </td> <td> <textarea name="memo" rows="2" cols="20" id="txtMemo" tabindex="4" style="width: 99%;" class="FormTextArea">Process edit.</textarea> </td> </tr> </tbody> </table> </td> </tr> <tr> <td colspan="4" bgcolor="#ffffff"> <div align="left"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tbody> <tr> <td colspan="9"> <div id="_main"> <input name="hidCurrentPage" id="hidCurrentPage" value="1" type="hidden"> <input name="hidMaxPages" id="hidMaxPages" value="1" type="hidden"><input name="hidFormLoad" id="hidFormLoad" value="0" type="hidden"> <div id="divPager" style="text-align: center;"> <table id="tblPager" border="0" cellpadding="0" cellspacing="0"> <tbody> <tr> <td align="center" valign="middle" width="10"><img id="imgFirst" src="/images/first-arrow-greyed.gif" onclick="FirstPage();" style="cursor: auto;"></td> <td align="center" valign="middle" width="10"><img id="imgPrev" src="/images/left-arrow-greyed.gif" onclick="PreviousPage();" style="cursor: auto;"></td> <td align="center" valign="middle" width="96"><font face="verdana" size="1">Page 1 of 1</font> </td> <td align="center" valign="middle" width="10"><img id="imgNext" src="/images/right-arrow-greyed.gif" onclick="NextPage();" style="cursor: auto;"></td> <td align="center" valign="middle" width="10"><img id="imgLast" src="/images/last-arrow-greyed.gif" onclick="LastPage();" style="cursor: auto;"></td> <td align="center" valign="middle" width="96"> </td> </tr> </tbody> </table> </div> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tbody> <tr> <td align="right"> <font face="verdana" size="1"> Filters: [ <a id="cmd_show_hide" href="#" onclick="javascript:show_hide();" class="detailslink"><font color="#0099cc">Show</font> </a>] <!--[ <a href="javascript:window.location.href='services.asp'"><font color="#0099cc">Back</font></a> ][ <a href="javascript:submitPage();"><font color="#0099cc">Next</font></a> ]</font>--> </font> </td> <!-- ADDED KELVIN BRYANT - 12/7/2004 --> </tr> <tr> <td colspan="2"> </td> </tr> <!-- Filter --> <tr> <td colspan="2"> <div id="_filters" style="background-color: rgb(211, 211, 211); visibility: hidden; position: absolute;"> <table border="0" cellpadding="2" cellspacing="0" width="100%"> <tbody> <tr> <td colspan="7" bgcolor="#a9a9a9"><font color="#ffffff" face="verdana" size="1"><b>Search Filters</b></font> </td> <td align="right" bgcolor="#a9a9a9" valign="middle"> <table border="0" cellpadding="0" cellspacing="0"> <tbody> <tr> <td align="right"><font color="#ffffff" face="verdana" size="1"><b>Save Filter Settings</b></font> </td> <td style="padding-left: 10px;"><input name="saveProfile" value="1" style="height: 12px; width: 12px;" type="checkbox"></td> </tr> </tbody> </table> </td> </tr> <tr> <!-- ROW 1 --> <td align="right" width="13%"><font face="verdana" size="1">Policy Number:</font></td> <td width="12%"><input id="_search" name="PolicyNo" value="" style="font-family: verdana; font-size: 8pt;" type="text"></td> <td valign="bottom" width="13%"><font face="verdana" size="1">Term Eff. Date (Fr):</font></td> <td align="right" width="12%"> <table border="0" cellpadding="0" cellspacing="2"> <tbody> <tr> <td><input id="_search" onblur="javascript:IsValidDate(this,true)" name="PolicyTermFromFr" value="" size="10" maxlength="10" style="font-family: verdana; font-size: 8pt;" type="text"></td> <td><font face="verdana" size="1"> </font></td> <td><a href="javascript:calPopup2('edits','PolicyTermFromFr')"><img src="/images/g-calendar.gif" border="0"></a></td> </tr> </tbody> </table> </td> <td valign="bottom" width="13%"><font face="verdana" size="1">Term Eff. Date (To):</font></td> <td align="right" width="12%"> <table border="0" cellpadding="0" cellspacing="2"> <tbody> <tr> <td><input id="_search" onblur="javascript:IsValidDate(this,true)" name="PolicyTermFromTo" value="" size="10" maxlength="10" style="font-family: verdana; font-size: 8pt;" type="text"></td> <td><font face="verdana" size="1"> </font></td> <td><a href="javascript:calPopup2('edits','PolicyTermFromTo')"><img src="/images/g-calendar.gif" border="0"></a></td> </tr> </tbody> </table> </td> <td align="right" width="13%"><font face="verdana" size="1">Updated By:</font></td> <td width="12%"><input id="_search" name="UpdatedBy" value="" style="font-family: verdana; font-size: 8pt;" type="text"></td> </tr> <tr> <!-- ROW 2 --> <td align="right" width="13%"><font face="verdana" size="1">Policy Mode:</font></td> <td width="12%"> <select id="_search" name="PolicyModeId" style="font-family: verdana; font-size: 8pt;"> <option value="">All</option> <option value="1">New</option> <option value="5">New on Existing</option> <option value="2">Renew</option> <option value="4">Re-New-Co</option> </select> </td> <td valign="bottom" width="13%"><font face="verdana" size="1">Term Exp. Date (Fr):</font></td> <td align="right" width="12%"> <table border="0" cellpadding="0" cellspacing="2"> <tbody> <tr> <td><input id="_search" onblur="javascript:IsValidDate(this,true)" name="PolicyTermToFr" value="" size="10" maxlength="10" style="font-family: verdana; font-size: 8pt;" type="text"></td> <td><font face="verdana" size="1"> </font></td> <td><a href="javascript:calPopup2('edits','PolicyTermToFr')"><img src="/images/g-calendar.gif" border="0"></a></td> </tr> </tbody> </table> </td> <td valign="bottom" width="13%"><font face="verdana" size="1">Term Exp. Date (To):</font></td> <td align="right" width="12%"> <table border="0" cellpadding="0" cellspacing="2"> <tbody> <tr> <td><input id="_search" onblur="javascript:IsValidDate(this,true)" name="PolicyTermToTo" value="" size="10" maxlength="10" style="font-family: verdana; font-size: 8pt;" type="text"></td> <td><font face="verdana" size="1"> </font></td> <td><a href="javascript:calPopup2('edits','PolicyTermToTo')"><img src="/images/g-calendar.gif" border="0"></a></td> </tr> </tbody> </table> </td> <td align="right" width="13%"><font face="verdana" size="1">LOB:</font></td> <td width="12%"><input id="_search" name="LOB" value="" style="font-family: verdana; font-size: 8pt;" type="text"></td> </tr> <tr> <!-- ROW 3 --> <td align="right" width="13%"><font face="verdana" size="1">Policy Status:</font></td> <td width="12%"> <select id="_search" name="PolicyStatusId" style="font-family: verdana; font-size: 8pt;"> <option value="">All</option> <option value="30">Bound</option> <option value="19">Expired</option> <option value="16">Future</option> <option value="9">In Force</option> <option value="21">Pending Cancellation </option> <option value="23">Received</option> <option value="26">Reinstated</option> <option value="27">Rewritten</option> </select> </td> <td valign="bottom" width="13%"><font face="verdana" size="1">Cvg. Eff. Date (Fr):</font></td> <td align="right" width="12%"> <table border="0" cellpadding="0" cellspacing="2"> <tbody> <tr> <td><input id="_search" onblur="javascript:IsValidDate(this,true)" name="CoverageTermFromFr" value="" size="10" maxlength="10" style="font-family: verdana; font-size: 8pt;" type="text"></td> <td><font face="verdana" size="1"> </font></td> <td><a href="javascript:calPopup2('edits','CoverageTermFromFr')"><img src="/images/g-calendar.gif" border="0"></a></td> </tr> </tbody> </table> </td> <td valign="bottom" width="13%"><font face="verdana" size="1">Cvg. Eff. Date (To):</font></td> <td align="right" width="12%"> <table border="0" cellpadding="0" cellspacing="2"> <tbody> <tr> <td><input id="_search" onblur="javascript:IsValidDate(this,true)" name="CoverageTermFromTo" value="" size="10" maxlength="10" style="font-family: verdana; font-size: 8pt;" type="text"></td> <td><font face="verdana" size="1"> </font></td> <td><a href="javascript:calPopup2('edits','CoverageTermFromTo')"><img src="/images/g-calendar.gif" border="0"></a></td> </tr> </tbody> </table> </td> <td align="right" width="13%"><font face="verdana" size="1">History:</font></td> <td width="12%"> <select id="_search" name="History" style="font-family: verdana; font-size: 8pt;"> <option value="">Include History</option> <option value="0" selected="selected">Exclude History </option> <option value="1">History Only</option> </select> </td> </tr> <tr> <!-- ROW 4 --> <td align="right" width="13%"><font face="verdana" size="1">Issuing Carrier:</font></td> <td width="12%"><input id="_search" name="IssuingCarrier" value="" style="font-family: verdana; font-size: 8pt;" type="text"></td> <td valign="bottom" width="13%"><font face="verdana" size="1">Cvg. Exp. Date (Fr):</font></td> <td align="right" width="12%"> <table border="0" cellpadding="0" cellspacing="2"> <tbody> <tr> <td><input id="_search" onblur="javascript:IsValidDate(this,true)" name="CoverageTermToFr" value="" size="10" maxlength="10" style="font-family: verdana; font-size: 8pt;" type="text"></td> <td><font face="verdana" size="1"> </font></td> <td><a href="javascript:calPopup2('edits','CoverageTermToFr')"><img src="/images/g-calendar.gif" border="0"></a></td> </tr> </tbody> </table> </td> <td valign="bottom" width="13%"><font face="verdana" size="1">Cvg. Exp. Date (To):</font></td> <td align="right" width="12%"> <table border="0" cellpadding="0" cellspacing="2"> <tbody> <tr> <td><input id="_search" onblur="javascript:IsValidDate(this,true)" name="CoverageTermToTo" value="" size="10" maxlength="10" style="font-family: verdana; font-size: 8pt;" type="text"></td> <td><font face="verdana" size="1"> </font></td> <td><a href="javascript:calPopup2('edits','CoverageTermToTo')"><img src="/images/g-calendar.gif" border="0"></a></td> </tr> </tbody> </table> </td> <td align="right" width="13%"> </td> <td width="12%"> </td> </tr> <tr> <!-- ROW 5 --> <td align="right" width="13%"><font face="verdana" size="1">Billing Carrier:</font></td> <td width="12%"><input id="_search" name="BillingCarrier" value="" style="font-family: verdana; font-size: 8pt;" type="text"></td> <td valign="bottom" width="13%"><font face="verdana" size="1">Updated Date (Fr):</font></td> <td align="right" width="12%"> <table border="0" cellpadding="0" cellspacing="2"> <tbody> <tr> <td><input id="_search" onblur="javascript:IsValidDate(this,true)" name="UpdatedDateFrom" value="" size="10" maxlength="10" style="font-family: verdana; font-size: 8pt;" type="text"></td> <td><font face="verdana" size="1"> </font></td> <td><a href="javascript:calPopup2('edits','UpdatedDateFrom')"><img src="/images/g-calendar.gif" border="0"></a></td> </tr> </tbody> </table> </td> <td valign="bottom" width="13%"><font face="verdana" size="1">Updated Date (To):</font></td> <td align="right" width="12%"> <table border="0" cellpadding="0" cellspacing="2"> <tbody> <tr> <td><input id="_search" onblur="javascript:IsValidDate(this,true)" name="UpdatedDateTo" value="" size="10" maxlength="10" style="font-family: verdana; font-size: 8pt;" type="text"></td> <td><font face="verdana" size="1"> </font></td> <td><a href="javascript:calPopup2('edits','UpdatedDateTo')"><img src="/images/g-calendar.gif" border="0"></a></td> </tr> </tbody> </table> </td> <td align="right" width="13%"> </td> <td width="12%"> </td> </tr> <tr> <td colspan="8" bgcolor="#a9a9a9"><font color="#ffffff" face="verdana" size="1"><b>Sort Filters</b></font> </td> </tr> <tr> <td align="right"><font face="verdana" size="1">Sort Field 1:</font></td> <td> <select id="_search" name="SortField" style="font-family: verdana; font-size: 8pt;"> <option value=""></option> <option value="BillingCompanyName-D">Billing Carrier </option> <option value="p.CovEffDate-D">Coverage Eff Date </option> <option value="p.CovExpDate-D">Coverage Exp Date </option> <option value="p.EffDate-D">Eff Date </option> <option value="p.ExpDate-D">Exp Date </option> <option value="p.History-D">History</option> <option value="IssuingCompanyName-D">Issuing Carrier </option> <option value="p.LastUpdated-D">Last Updated Date </option> <option value="LOB-D" selected="selected">Line of Business </option> <option value="policymode-D">Mode</option> <option value="p.PolicyNo-D">Policy Number </option> <option value="Premium-D">Premium</option> <option value="policystatus-D">Status</option> <option value="p.LastUpdatedByName-D">Updated By </option> </select> </td> <td align="right"><font face="verdana" size="1">Sort Order 1:</font></td> <td> <select id="_search" name="SortOrder" style="font-family: verdana; font-size: 8pt;"> <option value=""></option> <option value="ascending" selected="selected">Ascending</option> <option value="descending">Descending</option> </select> </td> <td align="right"><font face="verdana" size="1">Sort Field 2:</font></td> <td> <select id="_search" name="SortField" style="font-family: verdana; font-size: 8pt;"> <option value=""></option> <option value="BillingCompanyName-D">Billing Carrier </option> <option value="p.CovEffDate-D">Coverage Eff Date </option> <option value="p.CovExpDate-D">Coverage Exp Date </option> <option value="p.EffDate-D" selected="selected">Eff Date</option> <option value="p.ExpDate-D">Exp Date </option> <option value="p.History-D">History</option> <option value="IssuingCompanyName-D">Issuing Carrier </option> <option value="p.LastUpdated-D">Last Updated Date </option> <option value="LOB-D">Line of Business </option> <option value="policymode-D">Mode</option> <option value="p.PolicyNo-D">Policy Number </option> <option value="Premium-D">Premium</option> <option value="policystatus-D">Status</option> <option value="p.LastUpdatedByName-D">Updated By </option> </select> </td> <td align="right"><font face="verdana" size="1">Sort Order 2:</font></td> <td> <select id="_search" name="SortOrder" style="font-family: verdana; font-size: 8pt;"> <option value=""></option> <option value="ascending" selected="selected">Ascending</option> <option value="descending">Descending</option> </select> </td> </tr> <tr> <td colspan="8" align="right" bgcolor="#d3d3d3"> <input onclick="javascript:FirstPage(); " name="apply" value="Search" style="font-family: verdana; font-size: 8pt;" type="submit"><input onclick="javascript:clearFilter(); " name="clear" value="Clear" style="font-family: verdana; font-size: 8pt;" type="button"> </td> </tr> </tbody> </table> </div> </td> </tr> <tr> <td colspan="2"><font face="verdana" size="1">Select policy to edit:</font></td> </tr> <tr> </tr> <tr> <td colspan="10" bgcolor="#000000"> <table border="0" cellpadding="0" cellspacing="1" width="100%"> <tbody> <tr> <td> <table border="0" cellpadding="2" cellspacing="0" width="100%"> <tbody> <tr> <td align="center" bgcolor="#d3d3d3" valign="bottom" width="6%"><font face="verdana" size="1"><b>Select</b></font></td> <td align="center" bgcolor="#d3d3d3" valign="bottom" width="4%"><font face="verdana" size="1"> </font></td> <td align="center" bgcolor="#d3d3d3" valign="bottom" width="12%"><font face="verdana" size="1"><b>Line Of Business<br> Policy Number</b></font> </td> <td align="center" bgcolor="#d3d3d3" valign="bottom" width="10%"><font face="verdana" size="1"><b>Stage<br> Status<br> Description</b></font> </td> <td align="center" bgcolor="#d3d3d3" valign="bottom" width="8%"><font face="verdana" size="1"><b>Mode</b></font></td> <td align="center" bgcolor="#d3d3d3" valign="bottom" width="12%"><font face="verdana" size="1"><b>Updated By<br> Updated Date</b></font> </td> <td align="right" bgcolor="#d3d3d3" valign="bottom" width="10%"><font face="verdana" size="1"><b>Annualized $<br> Billed $</b></font> </td> <td align="center" bgcolor="#d3d3d3" valign="bottom" width="8%"><font face="verdana" size="1"><b>Policy<br> Term</b></font> </td> <td align="center" bgcolor="#d3d3d3" valign="bottom" width="8%"><font face="verdana" size="1"><b>Coverage<br> Term</b></font> </td> <td align="center" bgcolor="#d3d3d3" valign="bottom" width="12%"><font face="verdana" size="1"><b>Issuing Carrier<br> Billing Carrier</b></font> </td> </tr> </tbody> </table> </td> </tr> </tbody> </table> </td> </tr> <tr> <td bgcolor="#000000"> <table border="0" cellpadding="0" cellspacing="1" width="100%"> <tbody> <tr> <td bgcolor="#000000"> <table border="0" cellpadding="2" cellspacing="0" width="100%"> <tbody> <tr> <td align="center" bgcolor="yellow" width="6%"><input checked="checked" id="_selection" name="_selection" value="1021100" style="font-family: verdana; font-size: 8pt;" onclick="validateForm();" type="radio"></td> <td align="center" bgcolor="yellow" width="4%"><a href="javascript:openNewWindow('../../../popups/assignment_list.asp?pid=1021100','slide','450','400','no')"><img src="/images/icon_group.gif" border="0"></a></td> <td align="center" bgcolor="yellow" nowrap="nowrap" width="12%"> <div onclick="javascript:this.style.overflow='scroll';this.style.backgroundColor='#ffffe1';this.style.height='45'" onblur="javascript:this.style.overflow='hidden';this.style.backgroundColor='yellow';this.style.height='25'" style="overflow: scroll; background-color: rgb(255, 255, 225);"> <font color="#000000" face="verdana" size="1"><b>Auto - Commercial</b><br> ABC123A</font> <div></div> </div> </td> <td align="center" bgcolor="yellow" nowrap="nowrap" width="10%"> <div onclick="javascript:this.style.overflow='scroll';this.style.backgroundColor='#ffffe1';this.style.height='45'" onblur="javascript:this.style.overflow='hidden';this.style.backgroundColor='yellow';this.style.height='35'" style="overflow: hidden;"> <font color="#000000" face="verdana" size="1"><b>Policy</b><br> In Force<br> Commercial Auto</font> <div></div> </div> </td> <td align="center" bgcolor="yellow" width="8%"><font color="#000000" face="verdana" size="1">Renew</font></td> <td align="center" bgcolor="yellow" width="12%"><font color="#000000" face="verdana" size="1">Unknown Unknown<br> 06/17/2010</font> </td> <td align="right" bgcolor="yellow" width="10%"><font color="#000000" face="verdana" size="1"><b>$0.00</b><br> $0.00</font> </td> <td align="center" bgcolor="yellow" width="8%"><font color="#000000" face="verdana" size="1">04/01/2016<br> 04/01/2017</font> </td> <td align="center" bgcolor="yellow" nowrap="nowrap" width="8%"><font color="#000000" face="verdana" size="1">04/01/2016<br> 04/01/2017</font> </td> <td align="center" bgcolor="yellow" nowrap="nowrap" width="12%"> <div onclick="javascript:this.style.overflow='scroll';this.style.backgroundColor='#ffffe1';this.style.height='45'" onblur="javascript:this.style.overflow='hidden';this.style.backgroundColor='yellow';this.style.height='25'" style="overflow: scroll; background-color: rgb(255, 255, 225);"> <font color="#000000" face="verdana" size="1">XXXXXXX<br> XXXXXXXXXXX</font> <div></div> </div> </td> </tr> </tbody> </table> </td> </tr> </tbody> </table> </td> </tr> <script language="javascript"> document.edits.policy_id.value = ''; //Clear policy_id once it's complete //hideProgressDialog(); </script> </tbody> </table> </div> </td> </tr> </tbody> </table> </div> </td> <!--<td width="9" bgcolor="#ffffff" rowSpan="2"> </td> <td width="1" bgcolor="#cccccc" rowSpan="2"><img height="20" src="/images/g-box-greyline.gif" width="1" border="0" /></td> </tr>--> <!--<tr> <td valign="bottom" align="left" width="10" colspan="2"><img height="10" src="/images/g-box-bottomleft.gif" width="10" border="0" /></td> <td valign="bottom" width="100%" bgcolor="#ffffff" colspan="2"><img height="10" src="/images/g-box-bottomline.gif" width="100%" border="0" /></td> <td align="right" width="100%" bgcolor="#ffffff"><img height="10" src="/images/g-box-bottomline.gif" width="100%" border="0" /></td> <td align="right" width="31" bgcolor="#ffffff" nowrap><img height="10" src="/images/g-box-whitefill.gif" width="10" border="0" /></td> </tr> <tr> <td align="right" valign="top" bgcolor="#ffffe1" colspan="6"> <table border="0" cellSpacing="0" cellPadding="0"> <tr> <td valign="top" rowSpan="2"><img height="13" src="/images/g-box-bottomleft2.gif" width="10" border="0" /></td> <td bgcolor="#ffffff" height="9"><font face="verdana" color="#ffffff" size="1"><b><font color="#000000">edit</font></b></font></td> </tr> <tr> <td bgcolor="#cccccc" height="1"><img height="1" src="/images/g-box-greyline2.gif" width="9" border="0" /></td> </tr> </table> </td> <td valign="top" align="right" width="10" colspan="2"><img height="13" src="/images/g-box-bottomright2.gif" width="10" border="0" /></td> </tr>--> </tr> </tbody> </table> </form> </body> </html> Hopefully this will help you provide some guidance as to what I am missing in the code in the first code box. Link to comment Share on other sites More sharing options...
DaleHohm Posted August 5, 2013 Share Posted August 5, 2013 You seem to be intimidated at the thought of creating a reproducer. I believe you'll actually save a lot of time in the long run if you just do it. Dale Free Internet Tools: DebugBar, AutoIt IE Builder, HTTP UDF, MODIV2, IE Developer Toolbar, IEDocMon, Fiddler, HTML Validator, WGet, curl MSDN docs: InternetExplorer Object, Document Object, Overviews and Tutorials, DHTML Objects, DHTML Events, WinHttpRequest, XmlHttpRequest, Cross-Frame Scripting, Office object model Automate input type=file (Related) Alternative to _IECreateEmbedded? better: _IECreatePseudoEmbedded Better Better? IE.au3 issues with Vista - Workarounds SciTe Debug mode - it's magic: #AutoIt3Wrapper_run_debug_mode=Y Doesn't work needs to be ripped out of the troubleshooting lexicon. It means that what you tried did not produce the results you expected. It begs the questions 1) what did you try?, 2) what did you expect? and 3) what happened instead? Reproducer: a small (the smallest?) piece of stand-alone code that demonstrates your trouble Link to comment Share on other sites More sharing options...
ckelsoe Posted August 5, 2013 Author Share Posted August 5, 2013 What do you mean by "creating a reproducer"? Link to comment Share on other sites More sharing options...
DaleHohm Posted August 5, 2013 Share Posted August 5, 2013 It is what I asked you for several replies ago. See my sig for a definition. Dale Free Internet Tools: DebugBar, AutoIt IE Builder, HTTP UDF, MODIV2, IE Developer Toolbar, IEDocMon, Fiddler, HTML Validator, WGet, curl MSDN docs: InternetExplorer Object, Document Object, Overviews and Tutorials, DHTML Objects, DHTML Events, WinHttpRequest, XmlHttpRequest, Cross-Frame Scripting, Office object model Automate input type=file (Related) Alternative to _IECreateEmbedded? better: _IECreatePseudoEmbedded Better Better? IE.au3 issues with Vista - Workarounds SciTe Debug mode - it's magic: #AutoIt3Wrapper_run_debug_mode=Y Doesn't work needs to be ripped out of the troubleshooting lexicon. It means that what you tried did not produce the results you expected. It begs the questions 1) what did you try?, 2) what did you expect? and 3) what happened instead? Reproducer: a small (the smallest?) piece of stand-alone code that demonstrates your trouble Link to comment Share on other sites More sharing options...
ckelsoe Posted August 5, 2013 Author Share Posted August 5, 2013 DaleHohm, with all due respect and appreciation for your help I do not know what else I can post. I have posted the code that I have working. I have posted the HTML I am working with as best as I can considering that I cannot give you direct access to the site, IE does not save the entire page with all of the nested iframes, and the fact that I have spent considerable time removing proprietary information from the html. I really do not know what else I can provide you. I have looked at http://codecentrix.com/ - with their toolkit I was able to get to the areas I needed to in less than a minute. I may end up having to use that product and VBA to get what I need to get this done. It is not the first choice by any means as I would rather use AutoIt. However, since AutoIt cannot find objects in the DOM that are nested without having to figure out each iframe and table involved then it may just be the wrong tool for the project. Specifically in one line of code - "Call browser.FindElementVba("input text", "id=txtDescription").InputText("Text to input into the textbox")" and then the one line of "Call browser.FindElementVba("input button", "id=btnCreate").Click) does what I have been trying to get to for over a week in AutoIt. Link to comment Share on other sites More sharing options...
DaleHohm Posted August 5, 2013 Share Posted August 5, 2013 You have shown HTML code, but you have not provided a stand-alone set of files that we can run on our own systems with which to test the problem (that's part of what a reproducer is). The other product you mention appears to be a commercial product, so it is not surprising it has features like what you cite. However, it looks like it generates code that you may be able to dissect to give you clues how to implement in AutoIt and IE.au3. Dale Free Internet Tools: DebugBar, AutoIt IE Builder, HTTP UDF, MODIV2, IE Developer Toolbar, IEDocMon, Fiddler, HTML Validator, WGet, curl MSDN docs: InternetExplorer Object, Document Object, Overviews and Tutorials, DHTML Objects, DHTML Events, WinHttpRequest, XmlHttpRequest, Cross-Frame Scripting, Office object model Automate input type=file (Related) Alternative to _IECreateEmbedded? better: _IECreatePseudoEmbedded Better Better? IE.au3 issues with Vista - Workarounds SciTe Debug mode - it's magic: #AutoIt3Wrapper_run_debug_mode=Y Doesn't work needs to be ripped out of the troubleshooting lexicon. It means that what you tried did not produce the results you expected. It begs the questions 1) what did you try?, 2) what did you expect? and 3) what happened instead? Reproducer: a small (the smallest?) piece of stand-alone code that demonstrates your trouble Link to comment Share on other sites More sharing options...
ckelsoe Posted August 6, 2013 Author Share Posted August 6, 2013 Ok I have spent several hours trying to mock up a page that you can see. It is not going to happen as the complexity of this site does not permit simply throwing some HTML together to represent the site. I do have a question though - does AutoIt see Frames / Frameset differently than IFRAMES? I have a mix of both. I also am not clear on why we have to keep building objects to refer to prior object to get to something that is nested. Why can we not just simply address the item we want - either by name or id? The other program I mentioned above is able to do this. However, there are other reasons why it will not work and AutoIt is the better solution for what I need to do. Here is a diagram I have attached of the frames and iframes that I need to navigate through to get to the form, input and button. I am sorry that I cannot give you what you want to see. So hopefully you can help me with some functionality questions while I keep trying. Link to comment Share on other sites More sharing options...
DaleHohm Posted August 6, 2013 Share Posted August 6, 2013 As I told you the last time you asked about nesting: The only time you need to create a reference to a parent object first is when you are drilling into frames. The browser works with a DOM (Document Object Model). IE exposes the DOM API through COM. Both the Internet Explorer window and each frame are a "document container" - each document has it's own DOM. To get to objects in other documents, you must set up a new DOM context (you must drill into nested documents). For the most part, IE.au3 and the DOM treat iFrames and Frames the same. So, if your structure above is accurate, the following should give you references to the two input objects: $oFrame1 = _IEFrameGetObjByName($oIE, "Main") $oFrame2 = _IEFrameGetObjByName($oFrame1, "middle") $oFrame3 = _IEFrameGetObjByName($oFrame2, "contents") $oForm = _IEFormGetObjByName($oFrame3, "edits") $oInput1 = _IEFormElementGetObjByName($oForm, "desc") $oInput2 = _IEFormElementGetObjByName($oForm, "btnCreate") Note, you can also replace the last 3 lines with these two: $oInput1 = _IEGetObjByName($oFrame3, "desc") $oInput2 = _IEGetObjByName($oFrame3, "btnCreate") Note that is you use the last code snippet, if there is more than one object by that name on the page, you may get the wrong one (you'll get the first one in object order unless you use the optional index parameter). Dale Gianni and ckelsoe 2 Free Internet Tools: DebugBar, AutoIt IE Builder, HTTP UDF, MODIV2, IE Developer Toolbar, IEDocMon, Fiddler, HTML Validator, WGet, curl MSDN docs: InternetExplorer Object, Document Object, Overviews and Tutorials, DHTML Objects, DHTML Events, WinHttpRequest, XmlHttpRequest, Cross-Frame Scripting, Office object model Automate input type=file (Related) Alternative to _IECreateEmbedded? better: _IECreatePseudoEmbedded Better Better? IE.au3 issues with Vista - Workarounds SciTe Debug mode - it's magic: #AutoIt3Wrapper_run_debug_mode=Y Doesn't work needs to be ripped out of the troubleshooting lexicon. It means that what you tried did not produce the results you expected. It begs the questions 1) what did you try?, 2) what did you expect? and 3) what happened instead? Reproducer: a small (the smallest?) piece of stand-alone code that demonstrates your trouble Link to comment Share on other sites More sharing options...
ckelsoe Posted August 6, 2013 Author Share Posted August 6, 2013 Thanks DaleHohm - Apparently somewhere someplace there was another field called desc. I changed the syntax to _IEFormElementGetObjByName and it works!! I appreciate the nudge in the right direction AND your patience with me as I learn. It would have served me better to start learning IE DOM automation on a better designed site, however, this is the one I need to automate. Again - thank you. Link to comment Share on other sites More sharing options...
DaleHohm Posted August 6, 2013 Share Posted August 6, 2013 Very good. The DOM requires ID's to be unique, but names can have multiple instances (this is why *GetObJByName functions have index parameters and *GetObjById do not).. Dale Free Internet Tools: DebugBar, AutoIt IE Builder, HTTP UDF, MODIV2, IE Developer Toolbar, IEDocMon, Fiddler, HTML Validator, WGet, curl MSDN docs: InternetExplorer Object, Document Object, Overviews and Tutorials, DHTML Objects, DHTML Events, WinHttpRequest, XmlHttpRequest, Cross-Frame Scripting, Office object model Automate input type=file (Related) Alternative to _IECreateEmbedded? better: _IECreatePseudoEmbedded Better Better? IE.au3 issues with Vista - Workarounds SciTe Debug mode - it's magic: #AutoIt3Wrapper_run_debug_mode=Y Doesn't work needs to be ripped out of the troubleshooting lexicon. It means that what you tried did not produce the results you expected. It begs the questions 1) what did you try?, 2) what did you expect? and 3) what happened instead? Reproducer: a small (the smallest?) piece of stand-alone code that demonstrates your trouble Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now