mLipok Posted June 23, 2022 Posted June 23, 2022 So it works like a _WD_WaitElement with $_WD_OPTION_NoMatch ? 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
Danp2 Posted June 23, 2022 Author Posted June 23, 2022 Yes. However, they are not implemented in the same way. Latest Webdriver UDF Release Webdriver Wiki FAQs
atavius Posted June 24, 2022 Posted June 24, 2022 Hi, let me start by saying your work is absolutely fantastic and I love it. I am trying to use UDF for Edge with CyberArk Dispatcher, but for love of god I cant figure out how to make it work. I have perfectly fine running autoit script that does open the page in Edge and does what it needs. It even works when I manually test it using the CyberArk Dispatcher from cmd, but only when the cmd is run as administrator. When run directly from CyberArk or from non administrator cmd it always dies at _WD_Startup() and returns error message 1. Any idea how to fix it or what I am doing wrong?
mLipok Posted June 24, 2022 Posted June 24, 2022 4 minutes ago, atavius said: CyberArk Dispatcher, ? 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
Danp2 Posted June 24, 2022 Author Posted June 24, 2022 @ataviusYou may want to review prior discussion here. Latest Webdriver UDF Release Webdriver Wiki FAQs
atavius Posted June 24, 2022 Posted June 24, 2022 @Danp2 Yeah I saw that, but the post does not show whole script so it does not seems to help. I even tried to contact original poster, but no reply so far. Basically CyberArk provides their own AutoIT scripts. One is called PSMGenericClientWrapper.au3 which allows AutoIT to fetch credentials from CyberArk. That one should not be touched. Second one is called PSMAutoItDispatcherSkeleton.au3 which contains template that users are supposed to copy and provide steps for automation - in my case PSMEdge.au3 for was created based on that template. But like I mentioned my issue is that _WD_Startup() does not seems to start when run this way. PSMGenericClientWrapper.au3 PSMEdge.au3
mLipok Posted June 24, 2022 Posted June 24, 2022 https://docs.cyberark.com/Product-Doc/OnlineHelp/PAS/Latest/en/Content/PASIMP/psm_Develop_universal_connector.htm ? 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
Danp2 Posted June 24, 2022 Author Posted June 24, 2022 @atavius Please post the Scite console output that is produced when running your script. Also, check the contents of msedge.log in your script directory. Latest Webdriver UDF Release Webdriver Wiki FAQs
atavius Posted June 25, 2022 Posted June 25, 2022 @Danp2 Ok so by sheer luck I stumbled upon this old PSMCPFirefox.au3 script that seems to be doing exactly what I need, but it is using old version of Firefox driver utilizing FF.au3 script. Based on this file I think I now understand what I am probably missing in my Edge script - PID is not being supplied properly to the CyberArk. Presuming that the PSM Firefox script worked with CyberArk I see that it is supplying to CyberArk PID by return HWindowToPID($hndl) where $hndl = _FFWindowGetHandle(). Now looking at current UDF that I use I don't see any function resembling _FFWindowGetHandle that would return Window Handle. Closest thing that I see is _WD_Window with mention |HANDLES - Get all window handles. So my question is what should I use in my script to get same result as with _FFWindowGetHandle? PSMCPFirefox.au3
Danp2 Posted June 25, 2022 Author Posted June 25, 2022 @ataviusI don't believe that your analysis is correct because that wouldn't cause the error you are getting from _WD_Startup. An error code of 1 is equivalent to $_WD_ERROR_GeneralError, which only occurs in this portion of _WD_Startup -- $iPID = Run($sCommand, "", ($_WD_DEBUG >= $_WD_DEBUG_Info) ? @SW_SHOW : @SW_HIDE) If @error Or ProcessWaitClose($iPID, 1) Then $iErr = $_WD_ERROR_GeneralError So either the webdriver is failing to load or it exits within 1 second. FWIW, _WD_Startup returns the PID of the webdriver so you could capture this within your OpenEdge routine and return it to the caller. Latest Webdriver UDF Release Webdriver Wiki FAQs
atavius Posted July 1, 2022 Posted July 1, 2022 (edited) @Danp2 Sorry for late reply. I see what you are saying and I think that it is in line with what I am seeing. It looks like the msedgedriver cmd window gets opened and immediately closed/crashed (it just flicks) when I run it as user that CyberArk uses. Interestingly this way it does not produce any msedge.log. I tried to get some additional logs by adding these to the OpenEdge function, but it does not even create this log when run under that user. $_WD_DEBUG = $_WD_DEBUG_Info ; Gives you the greatest level of details _WD_Option('console', @ScriptDir & "\wdudf.log") Interestingly when I just plainly execute msedgedriver.exe under that user edgedriver seems to work fine which leads me to believe that the issue is very specific to the UDF _WD_Startup() code that launches it and something with user environment. Is there a way to debug why it is closing/crashing somehow to figure out the source? Alternatively I am thinking if it would be possible to skip _WD_Startup() and let script normally execute msedgedriver.exe and then continue with using UDF to send commands to driver. Would that work? Edited July 1, 2022 by atavius mention
Danp2 Posted July 1, 2022 Author Posted July 1, 2022 @ataviusA few things you could try -- Add some debugging code to check the value of @error following the Run command in _WD_Startup. Post the Scite console output that is produced when running your script (as previously requested 😏) Use ProcMon from Sysinternals (or something similar) to look for obvious issues (user rights, wrong version of EXE being launched, etc) Latest Webdriver UDF Release Webdriver Wiki FAQs
atavius Posted July 1, 2022 Posted July 1, 2022 @Danp2 Add some debugging code to check the value of @error following the Run command in _WD_Startup. Could you be more specific what should I add? Post the Scite console output that is produced when running your script (as previously requested 😏) I would love to do this, but I have no idea how. The problem is that to launch the script I have to run from cmd "C:\Program Files (x86)\AutoIt3\AutoIt3.exe" "C:\Program Files (x86)\CyberArk\PSM\Components\PSMEdge.au3" "C:\Program Files (x86)\CyberArk\PSM\Components\" /test This is due the way CyberArk dispatcher works. To be honest I am novice to AutoIT, so maybe there is way to launch it directly to get Scite console, but I just don't know how. Use ProcMon from Sysinternals (or something similar) to look for obvious issues (user rights, wrong version of EXE being launched, etc) Sure I can try to somehow catch the crashing process, but it seems to crash so fast that I need figure out what tool can catch it first. That said I already tried switching modifying OpenEdge function to Func OpenEdge() $_WD_DEBUG = $_WD_DEBUG_Info ; Gives you the greatest level of details _WD_Option('console', @ScriptDir & "\wdudf.log") ;_WD_Option('Driver', $sDriver) ;_WD_Option('Port', 9515) ;_WD_Option('DriverParams', '--verbose --log-path="' & @ScriptDir & '\msedge.log"') $sDesiredCapabilities = '{"capabilities": {"alwaysMatch": {"ms:edgeOptions": {"excludeSwitches": [ "enable-automation"]}}}}' ;_WD_Startup() Run('"C:\Program Files (x86)\CyberArk\PSM\Components\msedgedriver.exe"') If @error Then LogWrite(@error) ;Exit SetError(2, @error) $sSession = _WD_CreateSession($sDesiredCapabilities) If @error Then LogWrite(@error) ;Exit SetError(3, @error) _WD_Navigate($sSession, $TargetAddress) LogWrite("Edge2") ;If @error Then Return SetError(@error) Sleep(5000) EndFunc and out to the gate I am getting way better result where now CyberArk launches msedgedriver and also starts Edge: The problem now seems to be that it is not passing commands to it for some reason. Any idea what might be causing this?
Danp2 Posted July 1, 2022 Author Posted July 1, 2022 8 hours ago, atavius said: Could you be more specific what should I add? Anything that would display the value of @error, ie: ConsoleWrite or MsgBox Quote I would love to do this, but I have no idea how. The problem is that to launch the script I have to run from cmd You should be able to instruct Scite to launch it with the same parameters. Alternatively, you can use _WD_Option to set the Console option to the name of a file where you want to logs written. In fact, it looks like you are already doing this in the most recent code you posted. Quote The problem now seems to be that it is not passing commands to it for some reason. Any idea what might be causing this? Not enough info provided to even give a wild guess. I did notice that you commented out this line -- ;_WD_Option('Port', 9515) If you aren't setting it elsewhere, then that is likely your issue because the UDF won't know which port to use to communicate with the webdriver. Latest Webdriver UDF Release Webdriver Wiki FAQs
atavius Posted July 4, 2022 Posted July 4, 2022 @Danp2 So after bit of playing around I was able to pinpoint the issue with _WD_Startup to file permissions. Once I copied msedgedriver to different folder and set permissions for everyone (I know not great, but for now I am just trying to get it working) I am able to start Edge with normal _WD_Startup and also get all logs. Once I got the logs I noticed that url was passed without https:// which apparently msedgedriver does not like so once I fixed that page loads and UDF is able to fill in fields all while running directly from CyberArk, which is a huge win. Thank you for all your support and patience with me, I am in your debt. One more thing that I noticed is that when there is a debug logging enabled all input to the fields is displayed in plaintext which for fields containing passwords is a big problem. I know that once I turn off the debug there will be no file, but it is still potential attack vector if somebody gets to the script. Is there a way to encrypt/hide what is being inputted to such sensitive fields?
Danp2 Posted July 4, 2022 Author Posted July 4, 2022 @ataviusWe are working on improvements to logging that may help by reducing some of the details appearing in the logs. The UDF has no way of knowing when / if you are submitting a password, so the only way I know to handle this completely is for you (the script author) to temporarily disable logging when performing such a task. Latest Webdriver UDF Release Webdriver Wiki FAQs
mLipok Posted July 4, 2022 Posted July 4, 2022 (edited) 13 minutes ago, Danp2 said: to temporarily disable logging when performing such a task. It can be easy with this: ; #FUNCTION# ==================================================================================================================== ; Name ..........: _WD_DebugSwitch ; Description ...: Switch to new debug level or switch back to saved debug level ; Syntax ........: _WD_DebugSwitch([$vMode = Default]) ; Parameters ....: $vMode - [optional] Set new $_WD_DEBUG level. When not specified restore saved debug level. ; Return values .: None ; Author ........: mLipok ; Modified ......: ; Remarks .......: Function saves debug level only at first call ; Related .......: ; Link ..........: ; Example .......: _WD_DebugSwitch($_WD_DEBUG_Full) ; =============================================================================================================================== Func _WD_DebugSwitch($vMode = Default) Local Const $sFuncName = "_WD_DebugSwitch" Local Static $_WD_DEBUG_Saved = $_WD_DEBUG ; at first run save currently used debug level, and treat them as "DEFAULT USER CHOICE" Local $iErr = $_WD_ERROR_Success If $vMode = Default Then ; restore saved debug level $_WD_DEBUG = $_WD_DEBUG_Saved ElseIf Not IsInt($vMode) Then $iErr = $_WD_ERROR_InvalidDataType ElseIf $vMode < $_WD_DEBUG_None Or $vMode > $_WD_DEBUG_Full Then $iErr = $_WD_ERROR_InvalidValue Else ; set new debug level $_WD_DEBUG = $vMode EndIf Return SetError(__WD_Error($sFuncName, $iErr), 0, '') EndFunc ;==>_WD_DebugSwitch just use this like: _WD_DebugSwitch($_WD_DEBUG_None) ; disable debugging ; do your secret stuff - with restricted data _WD_DebugSwitch() ; restore debugging ; continue script - with non restricted data btw. @Danp2 do you think this function is worth to add to wd_helper.au3 ? Edited July 4, 2022 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
Danp2 Posted July 4, 2022 Author Posted July 4, 2022 @mLipokMaybe... however, I don't think you will get me to agree with your current implementation where you only save the current debug level on the first run. 😏 Latest Webdriver UDF Release Webdriver Wiki FAQs
mLipok Posted July 4, 2022 Posted July 4, 2022 (edited) 23 minutes ago, Danp2 said: @mLipokMaybe... however, I don't think you will get me to agree with your current implementation where you only save the current debug level on the first run. 😏 We can use NULL to ReSet stored variable (stored/saved debug level) Edited July 4, 2022 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
Danp2 Posted July 4, 2022 Author Posted July 4, 2022 IDK. I would expect the saved value to be updated each time the function is called with a new value. 🤷♂️ seadoggie01 1 Latest Webdriver UDF Release Webdriver Wiki FAQs
Recommended Posts