frank10 Posted August 1, 2023 Share Posted August 1, 2023 18 minutes ago, Danp2 said: @frank10 Today's release on Github contains the fix for the problems related to reformatting of JS code. Please update when you have an opportunity and let us know if you encounter any further issues. Hi Danp2, I'm glad to help! Installed and tested: it works very well. Uploading .js code as-is is the best solution even for me. Good work! Danp2 1 Link to comment Share on other sites More sharing options...
frank10 Posted August 1, 2023 Share Posted August 1, 2023 (edited) Maybe I could suggest something else: Before, I created 2 WD sessions with 2 chrome instances, because I need one normal chrome on default profile and another chrome with noCORS controls to make ajax call on different domains. It worked fine, having 2 sessionsID and working on both of them with autoit script. Something like this: _WD_Startup() ; 1st normal chrome: global $sChromeH10 = '{"capabilities": {"alwaysMatch": {"goog:chromeOptions": {"w3c": true, "args":["start-maximized", " --user-data-dir=C:\\Users\\' & @UserName & '\\AppData\\Local\\Google\\Chrome\\User Data\\", "--profile-directory=Default"]}}}}' global $sSessionH10 = _WD_CreateSession($sChromeH10) ;2nd noCORS chrome: global $sDesiredCapabilitiesNoSecur = '{"capabilities": {"alwaysMatch": {"goog:chromeOptions": {"w3c": true, "args":["--disable-web-security", "--user-data-dir=yourCustomPath", "--auto-open-devtools-for-tabs", "--profile-directory=Default"]}}}}' global $sSession = _WD_CreateSession($sDesiredCapabilitiesNoSecur) Now I can't do the same thing using the new capabilities method (I slightly modified the _WD_SetupChrome to make multiple calls with different capabilities set) : ; 1st normal chrome: local $aSessions = ["normal","noCors"] Global $sChromeH10 = _WD_SetupChrome(false, "", false, $aSessions[0] ) _WD_Startup() ; 1st $sSessionH10 = _WD_CreateSession($sChromeH10) ;2nd noCORS chrome: $sDesiredCapabilitiesNoSecur = _WD_SetupChrome(false, "", false, $aSessions[1] ) _WD_Startup() ; 2nd global $sSession = _WD_CreateSession($sDesiredCapabilitiesNoSecur) ; noCORS It opens 2 sessions with correct sessionID, BUT the problem is the 2nd _WD_Startup() overwrites the previous sessionID, so it remains active only the last sessionID. But if I delete the 2nd _WD_Startup() it doesn't open the 2nd chrome instance! One solution could be to move the initial lines outside from _WD_SetupChrome, at the beginning of the WD section script: Local $sTimeStamp = @YEAR & '-' & @MON & '-' & @MDAY & '_' & @HOUR & @MIN & @SEC _WD_Option('Driver', 'chromedriver.exe') _WD_Option('Port', _WD_GetFreePort() ) Local $sDriverParams = '--verbose --log trace --port=' & $_WD_PORT If $bLogToFile Then $sDriverParams &= ' --log-path="' & @ScriptDir & '\log\' & $sTimeStamp & '_WebDriver_chrome.log"' _WD_Option('DriverParams', $sDriverParams) This way WD is initialized once at the beginning and you can call _WD_Startup() 1 time and you will have 2 different working sessionID. Edited August 1, 2023 by frank10 Link to comment Share on other sites More sharing options...
Danp2 Posted August 1, 2023 Author Share Posted August 1, 2023 By default, existing webdriver instances are closed when you call _WD_Startup. The default functionality can be adjusted using one or both of these settings -- _WD_Option('DriverClose', False) _WD_Option('DriverDetect', False) Latest Webdriver UDF Release Webdriver Wiki FAQs Link to comment Share on other sites More sharing options...
frank10 Posted August 1, 2023 Share Posted August 1, 2023 8 minutes ago, Danp2 said: By default, existing webdriver instances are closed when you call _WD_Startup. The default functionality can be adjusted using one or both of these settings -- _WD_Option('DriverClose', False) _WD_Option('DriverDetect', False) Ok, I see. Do you mean making something like this, disabling those default behaviour on the 2nd call? ; 1st normal chrome: local $aSessions = ["normal","noCors"] Global $sChromeH10 = _WD_SetupChrome(false, "", false, $aSessions[0] ) _WD_Startup() ; 1st $sSessionH10 = _WD_CreateSession($sChromeH10) ;2nd noCORS chrome: $sDesiredCapabilitiesNoSecur = _WD_SetupChrome(false, "", false, $aSessions[1] ) _WD_Option('DriverClose', False) _WD_Option('DriverDetect', False) _WD_Startup() ; 2nd global $sSession = _WD_CreateSession($sDesiredCapabilitiesNoSecur) ; noCORS But it doesn't work. It looses the 1st sessionID and gives error: Invalid session ID [16] Link to comment Share on other sites More sharing options...
Danp2 Posted August 1, 2023 Author Share Posted August 1, 2023 Yes, but it's more complicated than that because you need to supply a unique port number for each instance of the webdriver. You should be able to find a working example if you search the forums. Another option would be to use a single instance of Chromedriver to run two sessions of Chrome (only call _WD_Startup once, but call _WD_CreateSession twice). Not all webdrivers support this option. Latest Webdriver UDF Release Webdriver Wiki FAQs Link to comment Share on other sites More sharing options...
Erik_NJ Posted August 1, 2023 Share Posted August 1, 2023 I see a new version of the UDF however, checking _WD_IsLatestRelease() returns FALSE (yes, I have updated the files on my system) Link to comment Share on other sites More sharing options...
Danp2 Posted August 1, 2023 Author Share Posted August 1, 2023 @Erik_NJ It looks like I had a missing period in the release's tag (1.11 vs 1.1.1). I corrected the tag and it should be working now. Thanks for catching this! Latest Webdriver UDF Release Webdriver Wiki FAQs Link to comment Share on other sites More sharing options...
NassauSky Posted August 19, 2023 Share Posted August 19, 2023 (edited) Hi @Danp2 and all, What might I be missing in trying to get the webdriver session connected to the currently clicked tab. ;-- Enum through open tabs and find visible tab and set session to use it Local $aHandles = _WD_Window($sSession, 'handles') For $w = 0 To UBound($aHandles) - 1 _WD_Window($sSession, 'Switch', '{"handle":"' & $aHandles[$w] & '"}') ;One by one switch and check for visibility $currentWindowTitleWD = _WD_Action($sSession, 'Title') ConsoleWrite("Current Session's Window WD Title: " & $currentWindowTitleWD & @CRLF) $sVisibility = _WD_ExecuteScript($sSession, "return document.visibilityState;") ConsoleWrite("+Tab Visibility: " & $sVisibility & @CRLF) Next ;More commands to send to the currently clicked tab ie _WD_Navigate($sSession, "www.google.com") Since the code runs and it actually switches the active tab, I can't seem to find out which one I clicked on. I was hoping the visibility state would allow me to 'switch' over to it so future commands would communicate with it. Edited August 19, 2023 by NassauSky Link to comment Share on other sites More sharing options...
Danp2 Posted August 19, 2023 Author Share Posted August 19, 2023 @NassauSky Try checking document.hidden instead. Latest Webdriver UDF Release Webdriver Wiki FAQs Link to comment Share on other sites More sharing options...
NassauSky Posted August 19, 2023 Share Posted August 19, 2023 (edited) @Danp2 thanks it doesn't seem the problem being javascript or property returned. The problem seems to be as I loop through the array of handles which seems to require me to switch to each. When I switch to each, they all will be visible after the switch to look at the state. I'm missing a way to loop through the tabs and find a visible window without 'switching' and making each active as I'm currently searching. Make sense? Edited August 19, 2023 by NassauSky Link to comment Share on other sites More sharing options...
Danp2 Posted August 19, 2023 Author Share Posted August 19, 2023 AFAIK, that is expected behavior with standard Webdriver. The only way I've managed to do it is to restart the webdriver whenever I detect that the active tab was changed by the user. The new webdriver instance will automatically use the current tab. This functionality requires the ability to reattach the webdriver to an existing browser (I was using FF). Latest Webdriver UDF Release Webdriver Wiki FAQs Link to comment Share on other sites More sharing options...
NassauSky Posted August 20, 2023 Share Posted August 20, 2023 (edited) I have put together the following demo of trying to acquire the current tab name. Any idea why it takes quite a few seconds after I click at times. If you click through tabs sometimes it instantly determines the tab title and other times it doesn't, especially if you click on a page's contents before clicking on the tab again. expandcollapse popup#include <GUIConstantsEx.au3> #include "Required-AU\WebDriver\wd_core.au3" #include "Required-AU\WebDriver\wd_helper.au3" Global $debugMode = False Global $OpenAuthInNewTab = False Global $RequiredFolder = @ScriptDir & "\Required\" Global $jUnhandled = "ignore" Global $jExclude = "enable-automation" Global $jAllowInstalls = "false" Global $jPassDialog = "false" Global $jPassMgr = "false" Global $acPosS[4] = [0, 0, 1060, @DesktopHeight - 34] Global $jaWinSizePos = '"window-position=' & $acPosS[0] & ',' & $acPosS[1] & '","window-size=' & $acPosS[2] & ',' & $acPosS[3] & '"' Global $jArgs = $jaWinSizePos Global $sDesiredCapabilities, $sSession, $handleTitle, $Handle, $aHandlePos _SetupChromeSimple() _WD_Option('DriverDetect', False) _WD_Startup() $sSession = _WD_CreateSession($sDesiredCapabilities) $handleTitle = _WD_Action($sSession, 'title') $Handle = WinGetHandle($handleTitle) $aHandlePos = WinGetPos($Handle) ;-- Open 3 tabs ;If $OpenAuthInNewTab Then _WD_NewTab($sSession) $sURL = "https://www.google.com" _WD_Navigate($sSession, $sURL) _WD_NewTab($sSession) $sURL = "https://www.webpagetest.org/" _WD_Navigate($sSession, $sURL) _WD_NewTab($sSession) $sURL = "https://www.geeksforgeeks.org/" _WD_Navigate($sSession, $sURL) AdlibRegister("_CheckMouseClick", 100) ; Register the function to run every 100ms Global $hGUI = GUICreate("Blank GUI", 600, 400, 1080, 400) Global $hEditBox = GUICtrlCreateEdit("Click In Browser For Window Title ...", 10,100,580,290) GuiCtrlSetFont(-1, 14) GUISetState(@SW_SHOW, $hGUI) While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE WinClose($Handle) ExitLoop EndSwitch If Not WinExists($Handle ) Then Exit WEnd Func _SetupChromeSimple($chromeHidden = False) While ProcessExists("chrome.exe") ProcessClose("chrome.exe") WEnd While ProcessExists("chromedriver.exe") ProcessClose("chromedriver.exe") WEnd Global $_WD_DEBUG = $_WD_DEBUG_None Global $wasWDupdated = _WD_UpdateDriver('Chrome', $RequiredFolder, True, True) _WD_Option('Driver', $RequiredFolder & 'chromedriver.exe') _WD_Option('Port', 9515) _WD_Option('DriverParams', '--verbose --log-path="' & $RequiredFolder & 'chrome.log"') _WD_Option('DriverDetect', False) Global $jChromeCapabilities = FileRead($RequiredFolder & "ChromeCapabilities.json") $jChromeCapabilities = StringReplace($jChromeCapabilities, '$jUnhandled', $jUnhandled) $jChromeCapabilities = StringReplace($jChromeCapabilities, '$jExclude', $jExclude) $jChromeCapabilities = StringReplace($jChromeCapabilities, '$jAllowInstalls', $jAllowInstalls) $jChromeCapabilities = StringReplace($jChromeCapabilities, '$jPassDialog', $jPassDialog) $jChromeCapabilities = StringReplace($jChromeCapabilities, '$jPassMgr', $jPassMgr) $jChromeCapabilities = StringReplace($jChromeCapabilities, '$jArgs', $jArgs) $sDesiredCapabilities = $jChromeCapabilities EndFunc Func _CheckMouseClick() If _IsMouseClickDetected($Handle) Then ; $GhostGUI ConsoleWrite("Mouse Event From _CheckMouseClick" & @CRLF) $mX = MouseGetPos()[0] $mY = MouseGetPos()[1] GUICtrlSetData($hEditBox, "Clicked Inside Browser." & @CRLF & @CRLF & "Please Wait For Tab Title. This could take quite a few seconds...") Sleep(20) GUICtrlSetData($hEditBox, "Most Current Clicked In Tab: " & @CRLF & @CRLF & ClickedTabName()) EndIf EndFunc Func _IsMouseClickDetected($hWndClicked) Local $aMousePos = MouseGetPos() Local $aWinPos = WinGetPos($hWndClicked) If IsArray($aWinPos) Then If $aMousePos[0] >= $aWinPos[0] And $aMousePos[0] <= $aWinPos[0] + $aWinPos[2] _ And $aMousePos[1] >= $aWinPos[1] And $aMousePos[1] <= $aWinPos[1] + $aWinPos[3] _ And _IsPressed("01") Then ; Check if left mouse button is pressed over browser window Return True Else Return False EndIf Else Return False EndIf EndFunc Func ClickedTabName() ; Get OuterHTML under MouseClick Local $aMousePos = MouseGetPos() $visibleTab = "" While StringLen($visibleTab)=0 $visibleTab = WinGetTitle( "[CLASS:Chrome_WidgetWin_1]","") Sleep(40) Wend Return $visibleTab EndFunc ChromeCapabilities.JSON: (Installed in @ScriptDir & "\Required\" { "capabilities": { "alwaysMatch": { "unhandledPromptBehavior": "$jUnhandled", "goog:chromeOptions": { "w3c": true, "excludeSwitches": [ "$jExclude" ], "useAutomationExtension": $jAllowInstalls, "prefs": { "credentials_enable_service": $jPassDialog, "profile": { "password_manager_enabled": $jPassMgr } }, "args": [ $jArgs ] } } }} Edited August 21, 2023 by NassauSky Needed To Add ChromeCapabilities.JSON Link to comment Share on other sites More sharing options...
mLipok Posted August 20, 2023 Share Posted August 20, 2023 (edited) why don't you use _WD_Capabilities....()? Edited August 20, 2023 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...
Danp2 Posted August 20, 2023 Author Share Posted August 20, 2023 @mLipok As you know they are optional. 😉 @NassauSky Your code doesn't run because we don't know the contents of ChromeCapabilities.json. Latest Webdriver UDF Release Webdriver Wiki FAQs Link to comment Share on other sites More sharing options...
NassauSky Posted August 21, 2023 Share Posted August 21, 2023 @Danp2 Sorry about that. I included just added it to my original post. Link to comment Share on other sites More sharing options...
Danp2 Posted August 21, 2023 Author Share Posted August 21, 2023 7 hours ago, NassauSky said: $visibleTab = WinGetTitle( "[CLASS:Chrome_WidgetWin_1]","") This isn't guaranteed to access the desired window because some other controls / windows use this same class. Why not do it like this? $visibleTab = WinGetTitle( $Handle) NassauSky 1 Latest Webdriver UDF Release Webdriver Wiki FAQs Link to comment Share on other sites More sharing options...
sergiobaiao Posted August 22, 2023 Share Posted August 22, 2023 Hi there, I'm just starting to use AutoIT and i was given the task to create an autologin script for the following website using the Webdriver: https://painel.assertivasolucoes.com.br/login But, I have no idea where to start. Can you give some advice or a sample code for an autologin script? Link to comment Share on other sites More sharing options...
mLipok Posted August 22, 2023 Share Posted August 22, 2023 1 hour ago, sergiobaiao said: I have no idea where to start. Can you give some advice or a sample code for an autologin script? Welcome to the forum. Start here: https://www.autoitscript.com/wiki/WebDriver And after you do first step take a look here: and here: https://github.com/mlipok/Au3WebDriver-testing NassauSky 1 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...
mLipok Posted August 22, 2023 Share Posted August 22, 2023 @Danp2 today I hit a problem with some JS scripting and finally I found this interesting Difference between textContent vs innerText In my cases it was related to: Quote innerText returns the visible text contained in a node, while textContent returns the full text. 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...
sergiobaiao Posted August 22, 2023 Share Posted August 22, 2023 1 hour ago, mLipok said: Welcome to the forum. Start here: https://www.autoitscript.com/wiki/WebDriver And after you do first step take a look here: and here: https://github.com/mlipok/Au3WebDriver-testing I was able to make the autologin work, but i have some issues: 1 - It's taking some time to set the values of the fields i've set the xpath for. 2 - The password field has the "eye" to see the "typed" password. As the form filling is taking some time to occur, the user is still able to click on the "eye" and see the password 3 - I need the browser to stay open after it logs in. The only need for this is that the user doesn't have access to the password. Can you help? Link to comment Share on other sites More sharing options...
Recommended Posts