Vishal85 Posted December 14, 2011 Posted December 14, 2011 Hi,I am using IE UDF to automate a web application. I am not able to click on few buttons. Same code works for buttons of some other app but not for few of the buttons of the app i want to automate. Can you please suggest some options.Please note AutoIt returns exit code as zero when i run below code so there doesnt seem to be any error with the code.Here is the HTML Source of the BUTTON i want to click<button title="Click to Order Requirements" class="littleButton" id="orderRequirements" accessKey="O" onmousedown="this.focus();orderRequirementsonclick()" type="button">Here is the code which i tried, $o_widgetObject = _IEGetObjById($oIE, "orderRequirements")_IEAction($o_widgetObject, "click")I also tried to get the button tags using below code...but didnt work.$oButtonObjs = _IETagNameGetCollection($oIE, "button")For $oButton In $oButtonObjs $sbuttonTitle = $oButton.title ConsoleWrite("Button Title - " & $sbuttonTitle & @CRLF) If (StringInStr($sbuttonTitle, "Click to Order Requirements")) Then _IEAction($oButton, "click") ExitLoop EndIfNextI am using Win XP and AutoIt v3.3.6.1SOMEBODY PLEASE HELP!Thanks!
guinness Posted December 14, 2011 Posted December 14, 2011 Please refer to the information i gave this user >> Also when you post code please use the [autoit][/autoit] tags. UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018
Vishal85 Posted December 14, 2011 Author Posted December 14, 2011 Thanks so much for quick reply! I will download the most recent version of AutoIt beta and try it again. Will post the result here based on my finding. I will surely take care of the tag thing text time!
Vishal85 Posted December 15, 2011 Author Posted December 15, 2011 I download the most recent beta version v3.3.7.23 (beta) but it didnt work. AutoIt doesnt click on any of the buttons on the application. It works fine for all other widgets. Please have a look at the HTML source for the button. Can you please help!
DaleHohm Posted December 15, 2011 Posted December 15, 2011 For debugging, you should try your logic on other sites to see if your trouble is unique to this site or if you are, perhaps, using it incorrectly. Looking at the html you posted, you may want to try adding _IEAction($oButton, "focus") prior to the click. Also, insure you are actually running the beta in your test by examining the output in the SciTe console that tells you the version used. 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
Vishal85 Posted December 16, 2011 Author Posted December 16, 2011 Regarding using beta version of IE UDF i have just used #include "C:\Program Files\AutoIt3\Beta\IncludeIE.au3" Is that fine? DO i need to do anything differently to use beta?Regarding my code i was able to click on the button using below code. I tried by giving focus to the element and click on it but it didnt work. Below code works fine. I had to fire the mouse event explicitly.Func _Buttonclick(ByRef $oIE, $s_fieldAttrib) Local $o_widgetObject $o_widgetObject = _IEGetObjById($oIE, $s_fieldAttrib) $o_widgetObject.fireEvent("onmousedown") $o_widgetObject.fireEvent("onmouseup") $s_returnValue = _IEAction($o_widgetObject, "click") _IELoadWait($oIE)EndFunc----------------Dale - this is not related to the button issue here...but while using the IE beta i came across one issue. Problem looks to be with IETagNameGetCollection method which works fine in production version but not with the recent beta. I have posted the issue in the beta discussion forum. Can you please take a look.
DaleHohm Posted December 16, 2011 Posted December 16, 2011 No, you are not using the beta correctly. I made two recommendations that you either did not understand or chose to ignore: 1) test using an alternate site and 2) look at the SciTe console to see what version is being run. You are using SciTe, right? If not, you are cheating yourself out of the best environment to run AutoIt. A version of SciTe customized for AutoIt is downloadable where you downloaded AutoIt. Typically you should have both the latest production version of AutoIt installed on your machine along with the latest beta. In SciTe, you then choose to run production with F5 and the beta with Alt+F5. The console section at the bottom SciTe gives you helpful information including the AutoIt version and lots of debugging messages from IE.au3). When you run productiona and beta in this way, you do not want to specify the full path to the includes so that the runtime can choose for you. Get your setup done properly and then retest - including the topic you put in the beta discussion, since you are not apprently running the beta properly. 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
Bert Posted December 16, 2011 Posted December 16, 2011 Listen to Dale. He is by far the best expert in this forum in dealing with automating things in internet explorer. The Vollatran project My blog: http://www.vollysinterestingshit.com/
Vishal85 Posted December 16, 2011 Author Posted December 16, 2011 Thank you so much Dale! I didnt ignore your instructions...infact i was extremely happy to see your repsonse! Thanks for the instructions for using BETA. I didnt know about it. I will now use beta that way. I am using SciTE4AutoIt3 since day1!!! I will test the code with beta again and let you know. @MPH - Absolutely!! Who can know better than the creator!! I am very much impressed with the way IE UDF works. Its just fabulous. I used Selenium before but was not happy with the way it works on IE.
Vishal85 Posted December 19, 2011 Author Posted December 19, 2011 Hi, I tried Alt - F5 but it doesnt work. I can run script using production version by pressing F5 but nothing happens when i press Alt - F5. Can you please help. I have AutoIt beta installed and i can see it in C:Program FilesAUtoIt3Beta Am i missing any setting to use beta?
Moderators Melba23 Posted December 19, 2011 Moderators Posted December 19, 2011 sadaphvi, And how does this post differ from this one? Stick to the one thread please. M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
Vishal85 Posted December 19, 2011 Author Posted December 19, 2011 Other question i had was....how do i compile a script using beta version? Right now i just right click teh .au3 file and complie it to form a exe file to run. If i have to do the same thing but use beta instead how do i complie it?
Developers Jos Posted December 19, 2011 Developers Posted December 19, 2011 (edited) How many threads do you want to run in parallel on this topic? As stated .. stick to the other one and I will try to help. Edited December 19, 2011 by Jos SciTE4AutoIt3 Full installer Download page - Beta files Read before posting How to post scriptsource Forum etiquette Forum Rules Live for the present, Dream of the future, Learn from the past.
Vishal85 Posted December 19, 2011 Author Posted December 19, 2011 Sorry for that....We had a mention of beta topic in this thread so thought to post here....I will stick with one post!
Developers Jos Posted December 19, 2011 Developers Posted December 19, 2011 Then post the requested information. SciTE4AutoIt3 Full installer Download page - Beta files Read before posting How to post scriptsource Forum etiquette Forum Rules Live for the present, Dream of the future, Learn from the past.
Vishal85 Posted December 19, 2011 Author Posted December 19, 2011 No, you are not using the beta correctly.I made two recommendations that you either did not understand or chose to ignore: 1) test using an alternate site and 2) look at the SciTe console to see what version is being run.You are using SciTe, right? If not, you are cheating yourself out of the best environment to run AutoIt. A version of SciTe customized for AutoIt is downloadable where you downloaded AutoIt. Typically you should have both the latest production version of AutoIt installed on your machine along with the latest beta. In SciTe, you then choose to run production with F5 and the beta with Alt+F5. The console section at the bottom SciTe gives you helpful information including the AutoIt version and lots of debugging messages from IE.au3). When you run productiona and beta in this way, you do not want to specify the full path to the includes so that the runtime can choose for you.Get your setup done properly and then retest - including the topic you put in the beta discussion, since you are not apprently running the beta properly.DaleHi Dale,I am now using beta correctly. One of the AutoIt developer Jos helped me with that.I executed my button code above with the beta version but just the click function doesnt work....As i mentioned above i was able to click on the buttons by firing the mouse events explicitly using below code,Func _Buttonclick(ByRef $oIE, $s_fieldAttrib)Local $o_widgetObject$o_widgetObject = _IEGetObjById($oIE, $s_fieldAttrib)$o_widgetObject.fireEvent("onmousedown")$o_widgetObject.fireEvent("onmouseup")_IEAction($o_widgetObject, "click")_IELoadWait($oIE)EndFunc This function works fine if used with production version but with beta i am getting below error,C:Documents and Settingsp2zoDesktopLHUSTestScriptLHUSPRPCSuperScript.au3 (242) : ==> The requested action with this object has failed.:$o_widgetObject.fireEvent("onmouseup")$o_widgetObject.fireEvent("onmouseup")^ ERROR->15:26:03 AutoIT3.exe ended.rc:1>Exit code: 1 Time: 32.835As a side note....as you know i reported one issue regarding _IETagNameCollection function if used with BETA.....I dont see it anymore after i learned to use BETA correctly. So it was not any issue with IE UDF.
DaleHohm Posted December 19, 2011 Posted December 19, 2011 Add _IEErrorHandlerRegister() to you code to get more detail on the COM error generated sent to the console. 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
Vishal85 Posted December 21, 2011 Author Posted December 21, 2011 (edited) when i use the custom error handler..I dont see any useful info in the COM error below.... Error - --> COM Error Encountered in LHUSPRPCFinalActionScript.au3 ----> $ErrorScriptline = 207 ----> $ErrorNumberHex = 80070005 ----> $ErrorNumber = -2147024891 ----> $ErrorWinDescription = Access is denied. ----> $ErrorDescription = ----> $ErrorSource = ----> $ErrorHelpFile = ----> $ErrorHelpContext = 0 ----> $ErrorLastDllError = 0Error - --> COM Error Encountered in LHUSPRPCFinalActionScript.au3 ----> $ErrorScriptline = 2431 ----> $ErrorNumberHex = 80070005 ----> $ErrorNumber = -2147024891 ----> $ErrorWinDescription = Access is denied. ----> $ErrorDescription = ----> $ErrorSource = ----> $ErrorHelpFile = ----> $ErrorHelpContext = 0 ----> $ErrorLastDllError = 0 Edited December 21, 2011 by Vishal85
DaleHohm Posted December 21, 2011 Posted December 21, 2011 The telling line is: $ErrorWinDescription = Access is denied. I've never seen this in any other scenario than a cross-domain/frames situation. I don't know how this could work in the production version and not in the beta... you'll need to provide a stand-alone reproducer. 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
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