tonycst Posted January 19, 2018 Share Posted January 19, 2018 If attached _IEAttach closes, script exits with <IE.au3> related error Is there a way to detach ? _IEQuit ( ByRef $oObject ) is not good. It will close the internet browser and i dont want that. I just want to detach from it so my script wont crash if attached window closes or disappears. Thanks Link to comment Share on other sites More sharing options...
Danp2 Posted January 19, 2018 Share Posted January 19, 2018 Can you elaborate because I don't quite understand what you are saying? Post your code or a simple reproducer to demonstrate the issue you are attempting to resolve. Latest Webdriver UDF Release Webdriver Wiki FAQs Link to comment Share on other sites More sharing options...
mLipok Posted January 19, 2018 Share Posted January 19, 2018 (edited) 1 hour ago, tonycst said: I just want to detach from it so my script wont crash if attached window closes or disappears. Whether this happend to you ? How this look like ? Edited January 19, 2018 by mLipok Signature beginning:* Please remember: "AutoIt"..... * Wondering who uses AutoIt and what it can be used for ? * Forum Rules ** ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Code * for other useful stuff click the following button: Spoiler Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST API * ErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 * My contribution to others projects or UDF based on others projects: * _sql.au3 UDF * POP3.au3 UDF * RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF * SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane * Useful links: * Forum Rules * Forum etiquette * Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * Wiki: * Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX IE Related: * How to use IE.au3 UDF with AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskScheduler * IE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related: * How to get reference to PDF object embeded in IE * IE on Windows 11 * I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions * EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *I also encourage you to check awesome @trancexx code: * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuff * OnHungApp handler * Avoid "AutoIt Error" message box in unknown errors * HTML editor * winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/ "Homo sum; humani nil a me alienum puto" - Publius Terentius Afer"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming" , be and \\//_. Anticipating Errors : "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty." Signature last update: 2023-04-24 Link to comment Share on other sites More sharing options...
tonycst Posted January 19, 2018 Author Share Posted January 19, 2018 expandcollapse popup#include <IE.au3> FileInstall("BeepError.mp3", @TempDir & "\BeepError.mp3", 1) FileInstall("Beep.mp3", @TempDir & "\Beep.mp3", 1) Opt("TrayMenuMode", 0) Opt("TrayOnEventMode", 1) ;to go to function on click Opt("TrayAutoPause", 0) Opt("WinTitleMatchMode", 2) ;1=start, 2=subStr, 3=exact, 4=advanced, -1 to -4=Nocase Global $BeepSound = @TempDir & "\Beep.mp3" ;using same sounds from beeper Global $BeepError = @TempDir & "\BeepError.mp3" ;using same sounds from beeper Global $Ini = @DesktopDir & "\Beeper.ini" $TransferWin = IniRead($Ini, "BeeperSettings", "Transfer_WindowName", "") $ErrorWinTitle = IniRead($Ini, "BeeperSettings", "Warning_WindowText3", "") ;aknowledge shavers message $NewLoad = IniRead($Ini, "BeeperSettings", "NewLoadCreation_WindowName", "") $Transfer = IniRead($Ini, "BeeperSettings", "Transfer_WindowName", "") $Decontam = IniRead($Ini, "BeeperSettings", "Decontam_WindowName", "") $WorkingWindowTitle = "" If WinExists($NewLoad) = 1 Then Assign("WorkingWindowTitle", $NewLoad) If WinExists($Transfer) = 1 Then Assign("WorkingWindowTitle", $Transfer) If WinExists($Decontam) = 1 Then Assign("WorkingWindowTitle", $Decontam) If $WorkingWindowTitle = "" Then MsgBox (16,"Error","No WorkingWindowTitle detected. Possibly due to incorrect IE settings in the Beeper.ini") Exit EndIf $IE = _IEAttach($WorkingWindowTitle, "Title") ConsoleWrite(@CRLF & "Window attached. Loop>Waiting window to become busy") While 1 If $IE = @error Then ExitLoop Else If WinExists($WorkingWindowTitle) = 0 Then ExitLoop If _IEPropertyGet($IE, "busy") = 1 Then If WinExists($WorkingWindowTitle) = 0 Then Exit ;exit before crush occures inside loadwait function. $Wait = _IELoadWait($IE);not sure if timeout solves the crash If $Wait = 1 Then ConsoleWrite(@CRLF & "_IELoadWait passed. BEEP is next.") SoundPlay($BeepSound,1) EndIf EndIf EndIf If WinExists ($ErrorWinTitle) = 1 Then _BeeperCloseErrorWindow() WEnd Func _BeeperCloseErrorWindow() SoundPlay($BeepError, 1) EndFunc ;==>_BeeperCloseErrorWindow I do attach before the loop In the loop i constantly monitor page busy status so i can play a sound every time page refreshes and loads. This is for inventory receiving. Each item received updates the page, so i monitor the page to get busy and loaded so i know it was updated. As soon as the page Title changes or window closes, script crashes because _IEPropertyGet($IE, "busy") does not get any value from $IE = _IEAttach($WorkingWindowTitle, "Title"). I dont think i want to run $IE = _IEAttach($WorkingWindowTitle, "Title") in the same loop, do i ? Link to comment Share on other sites More sharing options...
Earthshine Posted January 20, 2018 Share Posted January 20, 2018 (edited) after you make that call to wait, don't you need to check for @error > 0, see the help file for return codes https://www.autoitscript.com/autoit3/docs/libfunctions/_IEPropertyGet.htm https://www.autoitscript.com/autoit3/docs/libfunctions/_IELoadWait.htm check and post msgbox for errors and post back with what you find and maybe you do want that inside the loop. I can't test to find out, but you would break if error, else attach. Edited January 20, 2018 by Earthshine My resources are limited. You must ask the right questions Link to comment Share on other sites More sharing options...
tonycst Posted January 20, 2018 Author Share Posted January 20, 2018 (edited) I dont know how to use @error sorry. Its response would not matter to me anyway. All i know is that $Wait = _IELoadWait($IE) crashes because attached $IE = _IEAttach("Transfer", "Title") no longer exist. It cant check none existent page. Adding exitloop before _IELoadWait, but once _IELoadWait started to wait, not much i can do. I found another issue that prevents me from getting this script to work as expected. I found that the error messages that pop on the screen (from the web page) i am trying to close, show up AFTER page is fully loaded. Those messages pop in the middle of page loading process. So when i use $Wait = _IELoadWait($IE), script is paused and waiting for the page to load. Its before the page loaded i get those warning and now i have no idea how to get the $Wait = _IELoadWait($IE) to work in a loop rather then pausing the script. So i guess what i need is to figure out how to check for page from becoming busy to done (done loading) in a loop without pausing the script with _IELoadWait($IE). Is it even possible ? Here is what i have. $IE = _IEAttach($WorkingWindowTitle, "Title") While 1 If WinExists($WorkingWindowTitle) = 0 Then Exit ;exit before crush occures inside loadwait function. If _IEPropertyGet($IE, "busy") = 1 And _IELoadWait($IE) = 1 Then ;Page went into loading something ConsoleWrite(@CRLF & "_IELoadWait passed. BEEP is next.") SoundPlay($BeepSound,1) EndIf WEnd I get a messages from the page in the middle of page loading, so i cant detect that window and close it because script at that point is stuck waiting for page to load completely. Any way to catch error messages that pop on the screen while page is not yet loaded ? Edited January 20, 2018 by tonycst Link to comment Share on other sites More sharing options...
mLipok Posted January 20, 2018 Share Posted January 20, 2018 Did you read:* How to use IE.au3 UDF with AutoIt v3.3.14.x * Do you use COM Error Handler ? Signature beginning:* Please remember: "AutoIt"..... * Wondering who uses AutoIt and what it can be used for ? * Forum Rules ** ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Code * for other useful stuff click the following button: Spoiler Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST API * ErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 * My contribution to others projects or UDF based on others projects: * _sql.au3 UDF * POP3.au3 UDF * RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF * SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane * Useful links: * Forum Rules * Forum etiquette * Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * Wiki: * Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX IE Related: * How to use IE.au3 UDF with AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskScheduler * IE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related: * How to get reference to PDF object embeded in IE * IE on Windows 11 * I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions * EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *I also encourage you to check awesome @trancexx code: * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuff * OnHungApp handler * Avoid "AutoIt Error" message box in unknown errors * HTML editor * winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/ "Homo sum; humani nil a me alienum puto" - Publius Terentius Afer"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming" , be and \\//_. Anticipating Errors : "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty." Signature last update: 2023-04-24 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