Popular Post seangriffin Posted May 9 Popular Post Posted May 9 (edited) Hi everyone, After months of development, testing, and refinement, I’m excited to share something new with the AutoIt community: AutoIt CDP UDF A modern, high‑performance automation library for controlling Chromium‑based browsers directly through the Chrome DevTools Protocol (CDP) — with a clean, Playwright‑inspired API. This UDF communicates with the browser directly over WebSockets, with no WebDriver, no Selenium, no ChromeDriver, no Node.js, and no external dependencies. If you’ve ever used Playwright or Puppeteer, the API will feel instantly familiar — but now it’s native AutoIt. ⭐ Why CDP? Why this UDF? CDP gives you direct, low‑level control over Chromium. That means: No WebDriver overhead No Selenium flakiness No external processes No drivers to match versions No Python/Node/npm stack No installation required Just AutoIt + Chrome (CDP). This UDF aims to bring a modern, fluent, reliable automation experience to AutoIt — something closer to Playwright than to traditional WebDriver UDFs. 🔥 Key Features Direct CDP communication (no WebDriver, no Selenium) Playwright‑inspired API (locators, assertions, steps, test object) Extremely fast (no driver layer, no IPC overhead) Extremely lightweight (no external runtimes required) Auto‑waiting for elements and conditions (planned) Built‑in assertion system (expect()) Object‑driven, test‑aware scripting Event‑driven architecture Network request/response interception (planned) JavaScript evaluation (planned) Automatic browser download via Selenium Manager Portable, dependency‑free executables that run on any Windows machine Works with Chrome, Edge, Brave, Chromium — (currently only Chrome is fully supported) 🧪 Playwright‑Style Test Output Here’s a real output from the included “Basic Web Page” test: expandcollapse popup▶ Test: Basic web page test ▶ Step: Verify Basic Web Page navigation ▶ Step: Navigate to evil tester test pages ▶ Step: Verify the main page ✓ Expect: expected [Software Testing Practice Pages, Apps, and Challenges] and got [Software Testing Practice Pages, Apps, and Challenges] (line 29) ✓ Expect: expected [Software Testing Practice Pages, Apps, and Challenges] and got [Software Testing Practice Pages, Apps, and Challenges] (line 31) ✓ Expect: object [-5136690175131552945.1.1] is hidden (line 32) ✓ Expect: expected [False] and got [False] (line 33) ✓ Expect: expected [True] and got [True] (line 34) ▶ Step: Verify navigation to Pages ✓ Expect: expected [Pages] and got [Pages] (line 39) ✓ Expect: object [-5136690175131552945.1.2] is visible (line 40) ✓ Expect: expected truthy and got [True] (line 41) ✓ Expect: expected falsy and got [False] (line 42) ▶ Step: Navigate to Pages ▶ Step: Verify navigation to Basics ✓ Expect: expected [Basics] and got [Basics] (line 50) ▶ Step: Navigate to Basic Web Page ▶ Step: Verify Basic Web Page ▶ Step: Page elements ✓ Expect: actual text contains [Elements] (line 63) ✓ Expect: expected [Tags: Elements Locators Categories: Basics] to contain [Elements] (line 64) ✓ Expect: expected [Tags: Elements Locators Categories: Basics] to match regex [.*Categor.*] (line 65) ✓ Expect: expected [A paragraph of text] and got [A paragraph of text] (line 66) ✓ Expect: expected [Another paragraph of text] and got [Another paragraph of text] (line 67) ▶ Step: Click Me functionality ✓ Expect: expected [You clicked the button!] and got [You clicked the button!] (line 72) ✓ Expect: expected defined value and got [defined] (line 73) ✓ Expect: expected length [23] and got [23] (line 74) ▶ Step: Verify invalid locator ✓ Expect: expected Null and got [Null] (line 80) > BasicWebPageWithStandardBrowser() took n ms. 📦 Included Examples The repo includes a full suite of example scripts: Basic Web Page test Headless mode Auto‑installed Chrome v119 Playwright Chromium Element attributes Multiple elements Basic inputs Number inputs API tests (HTTP GET, DELETE, POST) These examples demonstrate the API, locators, assertions, and CDP interactions. 📥 Download & GitHub Repository You can find the full source, examples, documentation, and comparison tables here: 👉 https://github.com/seanhaydongriffin/autoit-cdp-udf 🛠️ Requirements AutoIt v3.3.16.0+ AutoItObject UDF (already included) JsonC UDF (already included) Chrome with remote debugging enabled 🎉 Final Thoughts This UDF is still evolving — but it already provides a fast, modern, CDP‑native automation experience that AutoIt has never had before. If you’re interested in: modern browser automation Playwright‑style scripting CDP exploration building a new generation of AutoIt test tools …then I’d love your feedback and ideas. Edited June 6 by seangriffin simplify the title ioa747, Danyfirex, mLipok and 2 others 1 4 Cheers, Sean. See my other UDFs: Chrome UDF - Automate Chrome | SAP UDF - Automate SAP | Java UDF - Automate Java Applications & Applets | Tesseract (OCR) UDF - Capture text from applications, controls and the desktop | Textract (OCR) UDF - Capture text from applications and controls | FileSystemMonitor UDF - File, Folder, Drive and Shell Monitoring | VLC (Media Player) UDF - Creating and controlling a VLC control in AutoIT | Google Maps UDF - Creating and controlling Google Maps (inc. GE) in AutoIT | SAPIListBox (Speech Recognition) UDF - Speech Recognition via the Microsoft Speech (SAPI) ListBox | eBay UDF - Automate eBay using the eBay API | ChildProc (Parallel Processing) UDF - Parallel processing functions for AutoIT | HyperCam (Screen Recording) UDF - Automate the HyperCam screen recorder | Twitter UDF - Automate Twitter using OAuth and the Twitter API | cURL UDF - a UDF for transferring data with URL syntax See my other Tools: Rapid Menu Writer - Add menus to DVDs in seconds | TV Player - Automates the process of playing videos on an external TV / Monitor | Rapid Video Converter - A tool for resizing and reformatting videos | [topic130531]Rapid DVD Creator - Convert videos to DVD fast and for free | ZapPF - A tool for killing processes and recycling files | Sean's eBay Bargain Hunter - Find last minute bargains in eBay using AutoIT | Sean's GUI Inspector - A scripting tool for querying GUIs | TransLink Journey Planner with maps - Incorporating Google Maps into an Australian Journey Planner | Automate Qt and QWidgets | Brisbane City Council Event Viewer - See what's going on in Brisbane, Australia
argumentum Posted May 9 Posted May 9 (edited) ... Func _CDP_Browser_FullPath($sFullPath = Default) Local Static $sBrowser = "init", $iErr = 10, $iExt = 10 If $sBrowser = "init" Or $sFullPath = "init" Then $iErr = 10 $iExt = 1 $sBrowser = @ProgramFilesDir & "\Google\Chrome\Application\chrome.exe" If Not FileGetSize($sBrowser) Then $sBrowser = @LocalAppDataDir & "\Google\Chrome\Application\chrome.exe" If Not FileGetSize($sBrowser) Then $sBrowser = "" EndIf If Not IsKeyword($sFullPath) And $sFullPath <> "" And $sFullPath <> "init" Then $iErr = 10 $iExt = 2 $sBrowser = $sFullPath EndIf If $iErr = 10 Then $iErr = Int(Not FileGetSize($sBrowser)) Return SetError($iErr, $iExt, $sBrowser) EndFunc ;==>_CDP_Browser_FullPath #Region --- Browser Class --- Func _CDP_Browser_Launch($oSelf, $browser = Default, $port = Default, $startupSwitches = Default, $profile = Default, $windowSize = Default) If $cdp.config.infoPopups = True Then SplashTextOn("AutoIt CDP", "Preparing browser ...", 420, 120) If $browser = Default Then $browser = _CDP_Browser_FullPath($browser) EndIf ... Thanks for sharing. Edited May 9 by argumentum better Follow the link to my code contribution ( and other things too ). FAQ - Please Read Before Posting
mLipok Posted May 9 Posted May 9 Thanks. But this means next one to add to my Browser.au3 UDF Oh boy. 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
subtlelonging Posted May 23 Posted May 23 (edited) Thank you for sharing! Edited June 2 by subtlelonging Withdraw the post due to a serious bug. Wait for it to be fixed and improved before republishing it.
argumentum Posted May 23 Posted May 23 4 minutes ago, subtlelonging said: I also wrote one, give it a tryaucdpx64 ...14 posts and counting Firstly: thanks for sharing. Secondly: where is the source for the DLL ? Follow the link to my code contribution ( and other things too ). FAQ - Please Read Before Posting
subtlelonging Posted May 31 Posted May 31 (edited) thanks for sharing. Edited June 2 by subtlelonging Withdraw the post due to a serious bug. Wait for it to be fixed and improved before republishing it.
seangriffin Posted June 6 Author Posted June 6 (edited) 📢UDF Update — New HTTP API Support (GET, POST, DELETE) Hi everyone, I’m excited to share a new feature update for the CDP UDF: built‑in HTTP API support for GET, POST, and DELETE requests. This makes it much easier to integrate REST API testing directly into your CDP automation workflows. The API layer is lightweight, uses the JsonC UDF for request/response handling, and keeps your scripts clean and expressive. Three new example scripts are included (Github link in the top post): Example API GET.au3 Example API POST.au3 Example API DELETE.au3 Below are the same examples inlined for quick reference. HTTP GET Example $jHeaderData = _JsonC_Object().add("Accept", "application/json") $jResp = $api.get('https://apichallenges.eviltester.com/simpleapi/items', $jHeaderData) HTTP DELETE Example $jResp = $api.delete("https://apichallenges.eviltester.com/simpleapi/items/" & $firstId) HTTP POST Example $jPostData = _JsonC_Object().add("type", "blu-ray").add("isbn13", $isbn).add("price", 97.99).add("numberinstock", 0) $jHeaderData = _JsonC_Object().add("Content-Type", "application/json") $jResp = $api.post('https://apichallenges.eviltester.com/simpleapi/items', $jPostData, $jHeaderData) Edited June 6 by seangriffin ioa747 and argumentum 1 1 Cheers, Sean. See my other UDFs: Chrome UDF - Automate Chrome | SAP UDF - Automate SAP | Java UDF - Automate Java Applications & Applets | Tesseract (OCR) UDF - Capture text from applications, controls and the desktop | Textract (OCR) UDF - Capture text from applications and controls | FileSystemMonitor UDF - File, Folder, Drive and Shell Monitoring | VLC (Media Player) UDF - Creating and controlling a VLC control in AutoIT | Google Maps UDF - Creating and controlling Google Maps (inc. GE) in AutoIT | SAPIListBox (Speech Recognition) UDF - Speech Recognition via the Microsoft Speech (SAPI) ListBox | eBay UDF - Automate eBay using the eBay API | ChildProc (Parallel Processing) UDF - Parallel processing functions for AutoIT | HyperCam (Screen Recording) UDF - Automate the HyperCam screen recorder | Twitter UDF - Automate Twitter using OAuth and the Twitter API | cURL UDF - a UDF for transferring data with URL syntax See my other Tools: Rapid Menu Writer - Add menus to DVDs in seconds | TV Player - Automates the process of playing videos on an external TV / Monitor | Rapid Video Converter - A tool for resizing and reformatting videos | [topic130531]Rapid DVD Creator - Convert videos to DVD fast and for free | ZapPF - A tool for killing processes and recycling files | Sean's eBay Bargain Hunter - Find last minute bargains in eBay using AutoIT | Sean's GUI Inspector - A scripting tool for querying GUIs | TransLink Journey Planner with maps - Incorporating Google Maps into an Australian Journey Planner | Automate Qt and QWidgets | Brisbane City Council Event Viewer - See what's going on in Brisbane, Australia
gmmg Posted Monday at 10:47 AM Posted Monday at 10:47 AM Hello, I tested the following simple script for automatic login. It works perfectly, but when I try to compile it, I get an error message. #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_UseX64=y #AutoIt3Wrapper_Change2CUI=y #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** #include "CDP.au3" $chrome = $browser.launch(Default, 9299, Default, Default) $page = $chrome.newPage() $page.goto("https://autoit.de/wcf/login/") $page.locator("//*[@id='username']").sendKeys("Username") Sleep(1000) $page.locator("//*[@id='password']").sendKeys("Password") Sleep(1000) $page.locator("//*[@id='submitButton']").click() Error: Aut2exe.exe encountered an error ended with error: Error adding file: .\json-c.dll .rc:2 Aut2exe.exe encountered an error ended with error: Error adding file: .\selenium-manager.exe .rc:2 Have anyone an idea? KR, gmmg
seangriffin Posted Monday at 11:41 AM Author Posted Monday at 11:41 AM 47 minutes ago, gmmg said: Hello, I tested the following simple script for automatic login. It works perfectly, but when I try to compile it, I get an error message. #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_UseX64=y #AutoIt3Wrapper_Change2CUI=y #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** #include "CDP.au3" $chrome = $browser.launch(Default, 9299, Default, Default) $page = $chrome.newPage() $page.goto("https://autoit.de/wcf/login/") $page.locator("//*[@id='username']").sendKeys("Username") Sleep(1000) $page.locator("//*[@id='password']").sendKeys("Password") Sleep(1000) $page.locator("//*[@id='submitButton']").click() Error: Aut2exe.exe encountered an error ended with error: Error adding file: .\json-c.dll .rc:2 Aut2exe.exe encountered an error ended with error: Error adding file: .\selenium-manager.exe .rc:2 Have anyone an idea? KR, gmmg Ohhh great pickup thanks! I recently embedded the json-c.dll directly inside the JsonC.au3 so json-c.dll isn't required anymore. But I forgot to remove it from the FileInstall command at the top of the UDF ... #AutoIt3Wrapper_UseX64=y FileInstall(".\json-c.dll", ".\") FileInstall(".\libcurl-x64.dll", ".\") FileInstall(".\selenium-manager.exe", ".\") Nice pickup. I have made this fix to CDP.au3 and uploaded to Github. >Running:(3.3.18.0):C:\Program Files (x86)\AutoIt3\aut2exe\aut2exe.exe /in "C:\dwn\autoit-cdp-udf\temp_example.au3" /out "C:\Users\SGriffin\AppData\Local\AutoIt v3\Aut2exe\~AU6DF5.tmp.exe" /nopack /comp 2 /Console /x64 +>21:37:17 Aut2exe.exe ended.C:\Users\SGriffin\AppData\Local\AutoIt v3\Aut2exe\~AU6DF5.tmp.exe. rc:0 +>21:37:17 Created program:C:\dwn\autoit-cdp-udf\temp_example.exe +>21:37:18 AutoIt3Wrapper Finished. Doh! I forgot to upload selenium-manager.exe to Github 😔 Sorry. Have uploaded it now. Your next download should work. Thanks for the update! Cheers, Sean. See my other UDFs: Chrome UDF - Automate Chrome | SAP UDF - Automate SAP | Java UDF - Automate Java Applications & Applets | Tesseract (OCR) UDF - Capture text from applications, controls and the desktop | Textract (OCR) UDF - Capture text from applications and controls | FileSystemMonitor UDF - File, Folder, Drive and Shell Monitoring | VLC (Media Player) UDF - Creating and controlling a VLC control in AutoIT | Google Maps UDF - Creating and controlling Google Maps (inc. GE) in AutoIT | SAPIListBox (Speech Recognition) UDF - Speech Recognition via the Microsoft Speech (SAPI) ListBox | eBay UDF - Automate eBay using the eBay API | ChildProc (Parallel Processing) UDF - Parallel processing functions for AutoIT | HyperCam (Screen Recording) UDF - Automate the HyperCam screen recorder | Twitter UDF - Automate Twitter using OAuth and the Twitter API | cURL UDF - a UDF for transferring data with URL syntax See my other Tools: Rapid Menu Writer - Add menus to DVDs in seconds | TV Player - Automates the process of playing videos on an external TV / Monitor | Rapid Video Converter - A tool for resizing and reformatting videos | [topic130531]Rapid DVD Creator - Convert videos to DVD fast and for free | ZapPF - A tool for killing processes and recycling files | Sean's eBay Bargain Hunter - Find last minute bargains in eBay using AutoIT | Sean's GUI Inspector - A scripting tool for querying GUIs | TransLink Journey Planner with maps - Incorporating Google Maps into an Australian Journey Planner | Automate Qt and QWidgets | Brisbane City Council Event Viewer - See what's going on in Brisbane, Australia
gmmg Posted Monday at 12:04 PM Posted Monday at 12:04 PM (edited) Thank You. It works Where can I specify, that the chromedriver download path, is the same as the script path? I found the settings for the selenium-manager.exe selenium-manager.exe --browser chrome --cache-path c:\my_path How could I specify scriptdir? KR, gmmg Edited Monday at 12:21 PM by gmmg
gmmg Posted Monday at 01:00 PM Posted Monday at 01:00 PM for my Website automation test: i think, i only need the curl-ca-bundle.crt + libcurl-x64.dll. FileInstall(".\curl-ca-bundle.crt", ".\") FileInstall(".\libcurl-x64.dll", ".\") ;FileInstall(".\selenium-manager.exe", ".\") ;FileInstall(".\sqlite3_x64.dll", ".\") ;FileInstall(".\sqlite3.exe", ".\") Could it be that I don't need the WebDriver?
seangriffin Posted Monday at 01:38 PM Author Posted Monday at 01:38 PM (edited) 39 minutes ago, gmmg said: for my Website automation test: i think, i only need the curl-ca-bundle.crt + libcurl-x64.dll. FileInstall(".\curl-ca-bundle.crt", ".\") FileInstall(".\libcurl-x64.dll", ".\") ;FileInstall(".\selenium-manager.exe", ".\") ;FileInstall(".\sqlite3_x64.dll", ".\") ;FileInstall(".\sqlite3.exe", ".\") Could it be that I don't need the WebDriver? If the only features you use in this UDF are chrome automation features then the only FileInstall that should be required is libcurl-x64.dll. If you use any of the API features and security related functions in those features like SSL then you may additionally need FileInstall for curl-ca-bundle.crt. FileInstall for selenium-manager.exe is only required if you use that feature in the launch method for a browser. FileInstall for sqlite3.exe and sqlite3_x64.dll is for an upcoming feature named "Enterprise Mode" which takes the UDF into features beyond that of Playwright, such as test data management. This UDF does not use or require WebDriver at all. Edited Monday at 01:39 PM by seangriffin Cheers, Sean. See my other UDFs: Chrome UDF - Automate Chrome | SAP UDF - Automate SAP | Java UDF - Automate Java Applications & Applets | Tesseract (OCR) UDF - Capture text from applications, controls and the desktop | Textract (OCR) UDF - Capture text from applications and controls | FileSystemMonitor UDF - File, Folder, Drive and Shell Monitoring | VLC (Media Player) UDF - Creating and controlling a VLC control in AutoIT | Google Maps UDF - Creating and controlling Google Maps (inc. GE) in AutoIT | SAPIListBox (Speech Recognition) UDF - Speech Recognition via the Microsoft Speech (SAPI) ListBox | eBay UDF - Automate eBay using the eBay API | ChildProc (Parallel Processing) UDF - Parallel processing functions for AutoIT | HyperCam (Screen Recording) UDF - Automate the HyperCam screen recorder | Twitter UDF - Automate Twitter using OAuth and the Twitter API | cURL UDF - a UDF for transferring data with URL syntax See my other Tools: Rapid Menu Writer - Add menus to DVDs in seconds | TV Player - Automates the process of playing videos on an external TV / Monitor | Rapid Video Converter - A tool for resizing and reformatting videos | [topic130531]Rapid DVD Creator - Convert videos to DVD fast and for free | ZapPF - A tool for killing processes and recycling files | Sean's eBay Bargain Hunter - Find last minute bargains in eBay using AutoIT | Sean's GUI Inspector - A scripting tool for querying GUIs | TransLink Journey Planner with maps - Incorporating Google Maps into an Australian Journey Planner | Automate Qt and QWidgets | Brisbane City Council Event Viewer - See what's going on in Brisbane, Australia
seangriffin Posted Monday at 01:40 PM Author Posted Monday at 01:40 PM (edited) 1 hour ago, gmmg said: Thank You. It works Where can I specify, that the chromedriver download path, is the same as the script path? I found the settings for the selenium-manager.exe selenium-manager.exe --browser chrome --cache-path c:\my_path How could I specify scriptdir? KR, gmmg This UDF does not use or require a WebDriver (meaning chromedriver for Chrome) Edited Monday at 01:41 PM by seangriffin Cheers, Sean. See my other UDFs: Chrome UDF - Automate Chrome | SAP UDF - Automate SAP | Java UDF - Automate Java Applications & Applets | Tesseract (OCR) UDF - Capture text from applications, controls and the desktop | Textract (OCR) UDF - Capture text from applications and controls | FileSystemMonitor UDF - File, Folder, Drive and Shell Monitoring | VLC (Media Player) UDF - Creating and controlling a VLC control in AutoIT | Google Maps UDF - Creating and controlling Google Maps (inc. GE) in AutoIT | SAPIListBox (Speech Recognition) UDF - Speech Recognition via the Microsoft Speech (SAPI) ListBox | eBay UDF - Automate eBay using the eBay API | ChildProc (Parallel Processing) UDF - Parallel processing functions for AutoIT | HyperCam (Screen Recording) UDF - Automate the HyperCam screen recorder | Twitter UDF - Automate Twitter using OAuth and the Twitter API | cURL UDF - a UDF for transferring data with URL syntax See my other Tools: Rapid Menu Writer - Add menus to DVDs in seconds | TV Player - Automates the process of playing videos on an external TV / Monitor | Rapid Video Converter - A tool for resizing and reformatting videos | [topic130531]Rapid DVD Creator - Convert videos to DVD fast and for free | ZapPF - A tool for killing processes and recycling files | Sean's eBay Bargain Hunter - Find last minute bargains in eBay using AutoIT | Sean's GUI Inspector - A scripting tool for querying GUIs | TransLink Journey Planner with maps - Incorporating Google Maps into an Australian Journey Planner | Automate Qt and QWidgets | Brisbane City Council Event Viewer - See what's going on in Brisbane, Australia
gmmg Posted Tuesday at 05:53 AM Posted Tuesday at 05:53 AM Hello @seangriffin, thanks for your fast reply, I'm currently use the WebDriver for my automation scripts. I might adjust that. Greetings, gmmg seangriffin 1
gmmg Posted Tuesday at 11:42 AM Posted Tuesday at 11:42 AM In my Script, i must set the lauch parameter for the chromeprofile path, because otherwise it won't start from a network path $chrome = $browser.launch(Default, 9299, Default, @TempDir & "\chromeprofile")
seangriffin Posted Tuesday at 12:32 PM Author Posted Tuesday at 12:32 PM (edited) 50 minutes ago, gmmg said: In my Script, i must set the lauch parameter for the chromeprofile path, because otherwise it won't start from a network path $chrome = $browser.launch(Default, 9299, Default, @TempDir & "\chromeprofile") Not sure what your question is. Do you want to start chrome from a network path? I've never attempted that. You can try changing the first parameter of the $browser.launch method (in your example Default) to an alternate path for chrome itself (chrome.exe). By default modern chrome instances reside in @ProgramFilesDir & "\Google\Chrome\Application\chrome.exe" and that's what Default currently refers to. I have been meaning to publish a very simple example on the usage of the UDF. I took your example and reduced it to a bare-minimal form that works (with no parameters for launch) ... #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_UseX64=y #AutoIt3Wrapper_Change2CUI=y #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** #include "CDP.au3" $chrome = $browser.launch() $page = $chrome.newPage() $page.goto("https://autoit.de/wcf/login/") $page.locator("//*[@id='username']").sendKeys("Username") $page.locator("//*[@id='password']").sendKeys("Password") $page.locator("//*[@id='submitButton']").click() Edited Tuesday at 12:32 PM by seangriffin Cheers, Sean. See my other UDFs: Chrome UDF - Automate Chrome | SAP UDF - Automate SAP | Java UDF - Automate Java Applications & Applets | Tesseract (OCR) UDF - Capture text from applications, controls and the desktop | Textract (OCR) UDF - Capture text from applications and controls | FileSystemMonitor UDF - File, Folder, Drive and Shell Monitoring | VLC (Media Player) UDF - Creating and controlling a VLC control in AutoIT | Google Maps UDF - Creating and controlling Google Maps (inc. GE) in AutoIT | SAPIListBox (Speech Recognition) UDF - Speech Recognition via the Microsoft Speech (SAPI) ListBox | eBay UDF - Automate eBay using the eBay API | ChildProc (Parallel Processing) UDF - Parallel processing functions for AutoIT | HyperCam (Screen Recording) UDF - Automate the HyperCam screen recorder | Twitter UDF - Automate Twitter using OAuth and the Twitter API | cURL UDF - a UDF for transferring data with URL syntax See my other Tools: Rapid Menu Writer - Add menus to DVDs in seconds | TV Player - Automates the process of playing videos on an external TV / Monitor | Rapid Video Converter - A tool for resizing and reformatting videos | [topic130531]Rapid DVD Creator - Convert videos to DVD fast and for free | ZapPF - A tool for killing processes and recycling files | Sean's eBay Bargain Hunter - Find last minute bargains in eBay using AutoIT | Sean's GUI Inspector - A scripting tool for querying GUIs | TransLink Journey Planner with maps - Incorporating Google Maps into an Australian Journey Planner | Automate Qt and QWidgets | Brisbane City Council Event Viewer - See what's going on in Brisbane, Australia
argumentum Posted Tuesday at 12:36 PM Posted Tuesday at 12:36 PM 2 minutes ago, seangriffin said: By default modern chrome instances reside in @ProgramFilesDir & "\Google\Chrome\Application\chrome.exe" and that's what Default currently refers to. ...but if installed by "User mode" that needs the function I gave you in a prior post. ..and I ever seen network mode anything. It would be interesting test. Follow the link to my code contribution ( and other things too ). FAQ - Please Read Before Posting
gmmg Posted Tuesday at 12:47 PM Posted Tuesday at 12:47 PM (edited) i must change the line $chrome = $browser.launch() to $chrome = $browser.launch(Default, 9299, Default, @TempDir & "\chromeprofile") , since I cannot ensure that a website logout has taken place And the $FileDelete area for delete cookie settings. I haven't found any other solution for it yet. #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_UseX64=y #AutoIt3Wrapper_Change2CUI=y #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** #include "CDP.au3" ;--delete Cookies-- Local $sProfile = @TempDir & "\chromeprofile" FileDelete($sProfile & "\Default\Cookies") FileDelete($sProfile & "\Default\Cookies-journal") FileDelete($sProfile & "\Default\Network\Cookies") FileDelete($sProfile & "\Default\Network\Cookies-journal") FileDelete($sProfile & "\Cookies") FileDelete($sProfile & "\Cookies-journal") ;$chrome = $browser.launch() $chrome = $browser.launch(Default, 9299, Default, @TempDir & "\chromeprofile") $page = $chrome.newPage() $page.goto("https://autoit.de/wcf/login/") $page.locator("//*[@id='username']").sendKeys("Username") $page.locator("//*[@id='password']").sendKeys("Password") $page.locator("//*[@id='submitButton']").click() Edited Tuesday at 01:20 PM by gmmg
seangriffin Posted Wednesday at 02:34 PM Author Posted Wednesday at 02:34 PM On 6/16/2026 at 10:47 PM, gmmg said: i must change the line $chrome = $browser.launch() to $chrome = $browser.launch(Default, 9299, Default, @TempDir & "\chromeprofile") , since I cannot ensure that a website logout has taken place And the $FileDelete area for delete cookie settings. I haven't found any other solution for it yet. #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_UseX64=y #AutoIt3Wrapper_Change2CUI=y #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** #include "CDP.au3" ;--delete Cookies-- Local $sProfile = @TempDir & "\chromeprofile" FileDelete($sProfile & "\Default\Cookies") FileDelete($sProfile & "\Default\Cookies-journal") FileDelete($sProfile & "\Default\Network\Cookies") FileDelete($sProfile & "\Default\Network\Cookies-journal") FileDelete($sProfile & "\Cookies") FileDelete($sProfile & "\Cookies-journal") ;$chrome = $browser.launch() $chrome = $browser.launch(Default, 9299, Default, @TempDir & "\chromeprofile") $page = $chrome.newPage() $page.goto("https://autoit.de/wcf/login/") $page.locator("//*[@id='username']").sendKeys("Username") $page.locator("//*[@id='password']").sendKeys("Password") $page.locator("//*[@id='submitButton']").click() Management of cookies is an interesting concern. I didn't want to mandate the UDF work one way or the other. In my own use cases of the UDF I need to support both options. Either needing the browser to retain no knowledge of the web application in each run, or in situations where I need cookies and credentials to be retained between test runs but have no want or need to capture those in the script (perhaps for security or privacy reasons). Thus I included the final parameter on the browser launch method - $clearCookies - so you can control this yourself. Which provides the similar functions you are including in your script ... if $clearCookies = True Then FileDelete($profile & "\Default\Cookies") FileDelete($profile & "\Default\Cookies-journal") FileDelete($profile & "\Default\Network\Cookies") FileDelete($profile & "\Default\Network\Cookies-journal") EndIf Cheers, Sean. See my other UDFs: Chrome UDF - Automate Chrome | SAP UDF - Automate SAP | Java UDF - Automate Java Applications & Applets | Tesseract (OCR) UDF - Capture text from applications, controls and the desktop | Textract (OCR) UDF - Capture text from applications and controls | FileSystemMonitor UDF - File, Folder, Drive and Shell Monitoring | VLC (Media Player) UDF - Creating and controlling a VLC control in AutoIT | Google Maps UDF - Creating and controlling Google Maps (inc. GE) in AutoIT | SAPIListBox (Speech Recognition) UDF - Speech Recognition via the Microsoft Speech (SAPI) ListBox | eBay UDF - Automate eBay using the eBay API | ChildProc (Parallel Processing) UDF - Parallel processing functions for AutoIT | HyperCam (Screen Recording) UDF - Automate the HyperCam screen recorder | Twitter UDF - Automate Twitter using OAuth and the Twitter API | cURL UDF - a UDF for transferring data with URL syntax See my other Tools: Rapid Menu Writer - Add menus to DVDs in seconds | TV Player - Automates the process of playing videos on an external TV / Monitor | Rapid Video Converter - A tool for resizing and reformatting videos | [topic130531]Rapid DVD Creator - Convert videos to DVD fast and for free | ZapPF - A tool for killing processes and recycling files | Sean's eBay Bargain Hunter - Find last minute bargains in eBay using AutoIT | Sean's GUI Inspector - A scripting tool for querying GUIs | TransLink Journey Planner with maps - Incorporating Google Maps into an Australian Journey Planner | Automate Qt and QWidgets | Brisbane City Council Event Viewer - See what's going on in Brisbane, Australia
seangriffin Posted Wednesday at 02:36 PM Author Posted Wednesday at 02:36 PM (edited) On 6/16/2026 at 10:36 PM, argumentum said: ...but if installed by "User mode" that needs the function I gave you in a prior post. ..and I ever seen network mode anything. It would be interesting test. Good point and sorry I didn't understand the context of your previous post. Makes sense now. Yes the UDF should expand on the many wonderous ways that browsers can be called via different installation paths. 😉 I didn't want to initially get bogged down in those details. But work revisiting now its maturing. Thanks Edited Wednesday at 02:37 PM by seangriffin argumentum 1 Cheers, Sean. See my other UDFs: Chrome UDF - Automate Chrome | SAP UDF - Automate SAP | Java UDF - Automate Java Applications & Applets | Tesseract (OCR) UDF - Capture text from applications, controls and the desktop | Textract (OCR) UDF - Capture text from applications and controls | FileSystemMonitor UDF - File, Folder, Drive and Shell Monitoring | VLC (Media Player) UDF - Creating and controlling a VLC control in AutoIT | Google Maps UDF - Creating and controlling Google Maps (inc. GE) in AutoIT | SAPIListBox (Speech Recognition) UDF - Speech Recognition via the Microsoft Speech (SAPI) ListBox | eBay UDF - Automate eBay using the eBay API | ChildProc (Parallel Processing) UDF - Parallel processing functions for AutoIT | HyperCam (Screen Recording) UDF - Automate the HyperCam screen recorder | Twitter UDF - Automate Twitter using OAuth and the Twitter API | cURL UDF - a UDF for transferring data with URL syntax See my other Tools: Rapid Menu Writer - Add menus to DVDs in seconds | TV Player - Automates the process of playing videos on an external TV / Monitor | Rapid Video Converter - A tool for resizing and reformatting videos | [topic130531]Rapid DVD Creator - Convert videos to DVD fast and for free | ZapPF - A tool for killing processes and recycling files | Sean's eBay Bargain Hunter - Find last minute bargains in eBay using AutoIT | Sean's GUI Inspector - A scripting tool for querying GUIs | TransLink Journey Planner with maps - Incorporating Google Maps into an Australian Journey Planner | Automate Qt and QWidgets | Brisbane City Council Event Viewer - See what's going on in Brisbane, Australia
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