Jump to content

WebDriver UDF - Help & Support (III)


Danp2
 Share

Recommended Posts

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 Codefor 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 APIErrorLog.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 TaskSchedulerIE 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 stuffOnHungApp handlerAvoid "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"
:naughty:  :ranting:, 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

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?

 

Link to comment
Share on other sites

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 Codefor 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 APIErrorLog.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 TaskSchedulerIE 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 stuffOnHungApp handlerAvoid "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"
:naughty:  :ranting:, 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

@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

Link to comment
Share on other sites

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 Codefor 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 APIErrorLog.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 TaskSchedulerIE 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 stuffOnHungApp handlerAvoid "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"
:naughty:  :ranting:, 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

@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

Link to comment
Share on other sites

@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.

Link to comment
Share on other sites

@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 by atavius
mention
Link to comment
Share on other sites

@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)
Link to comment
Share on other sites

@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:

image.thumb.png.14ce47f71a116875718e1146d8a17879.png

The problem now seems to be that it is not passing commands to it for some reason. Any idea what might be causing this? 

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

@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?

 

Link to comment
Share on other sites

@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.

 

Link to comment
Share on other sites

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 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 Codefor 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 APIErrorLog.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 TaskSchedulerIE 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 stuffOnHungApp handlerAvoid "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"
:naughty:  :ranting:, 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

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 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 Codefor 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 APIErrorLog.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 TaskSchedulerIE 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 stuffOnHungApp handlerAvoid "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"
:naughty:  :ranting:, 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

  • Danp2 changed the title to WebDriver UDF (W3C compliant version) - 07/29/2022
  • Jos locked this topic
Guest
This topic is now closed to further replies.
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...