MidwayMonster Posted January 22, 2013 Share Posted January 22, 2013 Let me appologize in advance - I am actually having just as hard of a time explaining this issue as i am trying to resolve the issue I am trying to automate a SAP licensing site the normal text baxed fields of the form are just fine but there are a few drop down boxes. Once you select the option it updates the rest of the form with the updated options. The closest i can get (below code) puts in the proper entries into each drop down but the form doesnt execute / update. I also put that form items website code below as well (obtained from debug bar). WinActivate("License Key Request") $oTSystemForm2 = _IEFormGetCollection ($oTLoginIE, 0) ; Text based item - works just fine $oTSysName = _IEFormElementGetObjByName ($oTSystemForm2, "ff_system_name") _IEFormElementSetValue ($oTSysName, $IeStore) Sleep(2000) ; Drop down item - issue with this element - Production Support is the item value $oTSysType = _IEFormElementGetObjByName ($oTSystemForm2, "ff_system_type") _IEFormElementSetValue ($oTSystype, "Production support", 1) I have also experimented with: _IEFormElementOptionselect ($oTSysType, "Production support", 1, "byValue") _IEFormElementOptionselect ($oTSysType, 5, 1, "byIndex") ; Production support is the 6th item in the list Here is the code from the website: <INPUT onblur="sapUrMapi_ComboBox_blurDdlb('ff_system_type',event);" style="WIDTH: 300px" onkeydown="sapUrMapi_ComboBox_keydown('ff_system_type',event);" id=ff_system_type onselectstart=sapUrMapi_cancelEvent(event); class=urCoB2TxtDdl onfocus="sapUrMapi_ComboBox_focusDdlb('ff_system_type',event);" tabIndex=0 onkeypress="sapUrMapi_ComboBox_keypress('ff_system_type',event);" readOnly value="Please select" ct="ComboBox" ti="0" vs="Please select" ic="8" dd="true" vt="true" st="" op="false" lid="ff_system_type-lb" ks="" k=""> Also one more entry for it: <INPUT id=ff_system_typeKey name=ff_system_type type=hidden> Keith Hugginswww.LivingViLife.com | [email="Keith.Visalus@gmail.com"]Keith.Visalus@gmail.com[/email]Want to automate your weightloss and fitness? I lost 20 pounds and 5 inches across my belly in 8 weeks without exercise!Check out my website or shoot me a email for more information Link to comment Share on other sites More sharing options...
MidwayMonster Posted January 22, 2013 Author Share Posted January 22, 2013 Here is the full IE portion of this script i wanted to post it seperately as to not cause confusion for the section i am having problems with. expandcollapse popup#include <ie.au3> Opt("TrayIconDebug", 1) Dim $oTSysID, $oTSystemForm, $oTLoginForm, $email, $emailcheck, $host, $IE_Excel_Populate, $logmsg, $logintroL1, $logintroL2, $logintroL3, $logintroL4, $logintroL5, $logintroL6, $logintroL7, $owadom, $owapwd, $owauid, $proctime, $splashtitle, $startdate, $starttime, $store, $storecheck, $storelen, $tax, $taxlen, $taxtxt ; ###### Script Test variables ###### $IeDate = "20.01.2013" ;day.month.year $IeStore = "746" $oTLoginIE = _IECreate ("https://websmp207.sap-ag.de/~form/handler?_APP=00200682500000002332&_EVENT=DISPLAY&ACTION=INSTSRCHLK", 0, 1, 0) ;0 = Dont Attach, 1 = Visable, 0 = Dont wait till fully loaded $oTLoginIE_Error = @error WinWait("Windows Security") WinActivate("Windows Security") sleep(1000) Send("******") ;Username Sleep(1000) Send("{TAB}") Send("******") ;Password Sleep(1000) ControlClick("Windows Security", "", "[CLASS:Button; INSTANCE:2]") WinActivate("License Key Request") sleep(5000) _IELinkClickByText ($oTLoginIE, "SAP Netweaver") sleep(5000) _IELinkClickByText ($oTLoginIE, "New system") sleep(5000) ; New System Form ;$oTSystemForm = _IEFormGetObjByName ($oTLoginIE, "new_sytem_data") ;For some reason it doesnt find the form via the name $oTSystemForm = _IEFormGetCollection ($oTLoginIE, 0) $oTSysID = _IEFormElementGetObjByName ($oTSystemForm, "ff_system_id") _IEFormElementSetValue ($oTSysID, "XPS") sleep(1000) _IELinkClickByText ($oTLoginIE, "Continue", "", 0) ;Returns right away - needed due to it holds for 5 minutes waiting to time out with the popup. ;###### Pop-Up ###### WinWait("Duplicate System ID") WinActivate("Duplicate System ID") $oTPopUp = _IEAttach("", "DialogBox", 1) ;Creates a IE Object to interact with Sleep(1000) _IELinkClickByText ($oTPopUp, "New System", "", 0) ;Returns right away - needed due to it holds for 5 minutes waiting to time out with the popup. Sleep(2000) ;#### End Pop-Up #### WinActivate("License Key Request") ;###### Need to grab form again after popup closed $oTSystemForm2 = _IEFormGetCollection ($oTLoginIE, 0) ; This works - text based form line $oTSysName = _IEFormElementGetObjByName ($oTSystemForm2, "ff_system_name") _IEFormElementSetValue ($oTSysName, $IeStore) Sleep(2000) ; Drop down - doesnt work $oTSysType = _IEFormElementGetObjByName ($oTSystemForm2, "ff_system_type") _IEFormElementSetValue ($oTSystype, "Production support", 1) ;_IEFormElementOptionselect ($oTSysType, 5, 1, "byIndex") ;choosees 6th option Production support Sleep(2000) Keith Hugginswww.LivingViLife.com | [email="Keith.Visalus@gmail.com"]Keith.Visalus@gmail.com[/email]Want to automate your weightloss and fitness? I lost 20 pounds and 5 inches across my belly in 8 weeks without exercise!Check out my website or shoot me a email for more information Link to comment Share on other sites More sharing options...
Danp2 Posted January 22, 2013 Share Posted January 22, 2013 Have you tried this?: _IEAction($oTSysType, "blur") Latest Webdriver UDF Release Webdriver Wiki FAQs Link to comment Share on other sites More sharing options...
MidwayMonster Posted January 22, 2013 Author Share Posted January 22, 2013 Have you tried this?: _IEAction($oTSysType, "blur") I just tried this and it drops down the list after entering the value. But doesnt activate the java code. Keith Hugginswww.LivingViLife.com | [email="Keith.Visalus@gmail.com"]Keith.Visalus@gmail.com[/email]Want to automate your weightloss and fitness? I lost 20 pounds and 5 inches across my belly in 8 weeks without exercise!Check out my website or shoot me a email for more information Link to comment Share on other sites More sharing options...
MidwayMonster Posted January 23, 2013 Author Share Posted January 23, 2013 Thanks DanP2 you may have pointed me in the direction of a functional work around. I am concerned that there may be issues with it not being reliably run but it is working on my tests so far. What I ended with was _IEAction($oTSysType, "focus") followed by Send commands with the value and enter. I was then able to apply this to the other 2 drop downs as well... now working with the radio button :-). I am still looking to see if there is a bette way to do this. $oTSysType = _IEFormElementGetObjByName ($oTSystemForm2, "ff_system_type") _IEAction($oTSysType, "focus") ;_IEFormElementSetValue ($oTSystype, "Production system", 1) ;_IEFormElementOptionselect ($oTSysType, "Production support", 1, "byValue") ;choosees 6th option Production support Sleep(1000) Send("Production system") Send("{Enter}") Sleep(4000) Keith Hugginswww.LivingViLife.com | [email="Keith.Visalus@gmail.com"]Keith.Visalus@gmail.com[/email]Want to automate your weightloss and fitness? I lost 20 pounds and 5 inches across my belly in 8 weeks without exercise!Check out my website or shoot me a email for more information 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