{"id":21483214,"url":"https://github.com/danp2/au3webdriver","last_synced_at":"2026-01-26T18:55:25.553Z","repository":{"id":37777218,"uuid":"117844808","full_name":"Danp2/au3WebDriver","owner":"Danp2","description":"Web Driver UDF for AutoIt","archived":false,"fork":false,"pushed_at":"2025-09-01T13:37:08.000Z","size":1724,"stargazers_count":110,"open_issues_count":17,"forks_count":22,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-09-01T15:26:04.761Z","etag":null,"topics":["autoit","udf","w3c","webdriver"],"latest_commit_sha":null,"homepage":"","language":"AutoIt","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Danp2.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"docs/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"docs/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-01-17T14:07:35.000Z","updated_at":"2025-09-01T13:24:14.000Z","dependencies_parsed_at":"2023-10-25T15:06:30.645Z","dependency_job_id":"7d04b217-f37a-4658-8862-d0065bb78a81","html_url":"https://github.com/Danp2/au3WebDriver","commit_stats":null,"previous_names":[],"tags_count":78,"template":false,"template_full_name":null,"purl":"pkg:github/Danp2/au3WebDriver","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Danp2%2Fau3WebDriver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Danp2%2Fau3WebDriver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Danp2%2Fau3WebDriver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Danp2%2Fau3WebDriver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Danp2","download_url":"https://codeload.github.com/Danp2/au3WebDriver/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Danp2%2Fau3WebDriver/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28785172,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-26T13:55:28.044Z","status":"ssl_error","status_checked_at":"2026-01-26T13:55:26.068Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["autoit","udf","w3c","webdriver"],"created_at":"2024-11-23T12:45:55.582Z","updated_at":"2026-01-26T18:55:25.521Z","avatar_url":"https://github.com/Danp2.png","language":"AutoIt","funding_links":[],"categories":[],"sub_categories":[],"readme":"#####\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"images/icon.png\" width=\"176\" /\u003e\n    \u003ch2 align=\"center\"\u003eWelcome to \u003ccode\u003eau3WebDriver\u003c/code\u003e\u003c/h2\u003e\n\u003c/p\u003e\n\n[![license](https://img.shields.io/badge/license-MIT-ff69b4.svg?style=flat-square\u0026logo=spdx)][license]\n[![contributors](https://img.shields.io/github/contributors/Danp2/au3WebDriver.svg?style=flat-square\u0026logo=github)][Contributors]\n![repo size](https://img.shields.io/github/repo-size/Danp2/au3WebDriver.svg?style=flat-square\u0026logo=github)\n[![last commit](https://img.shields.io/github/last-commit/Danp2/au3WebDriver.svg?style=flat-square\u0026logo=github)](https://github.com/Danp2/au3WebDriver/commits/master)\n[![release](https://img.shields.io/github/release/Danp2/au3WebDriver.svg?style=flat-square\u0026logo=github)](https://github.com/Danp2/au3WebDriver/releases/latest)\n![os](https://img.shields.io/badge/os-windows-yellow.svg?style=flat-square\u0026logo=windows)\n![stars](https://img.shields.io/github/stars/Danp2/au3WebDriver?color=blueviolet\u0026logo=reverbnation\u0026logoColor=white\u0026style=flat-square)\n\n[Description](#description) | [Documentation](#documentation) | [Features](#features) | [Getting started](#getting-started) | [Configuration](#configuration) | [Contributing](#contributing) | [License](#license) | [Acknowledgements](#acknowledgements)\n\n## Description\n\nThis au3WebDriver UDF (project) allows to interact with any browser that supports the [W3C WebDriver specifications][W3C Webdriver].  Supporting multiple browsers via the same code base is now possible with just a few configuration settings.\n\n## Documentation\n\n|                                                                                                                      | Reference                                                     | Description                                                                                            |\n| :---:                                                                                                                | :---                                                          | :---                                                                                                   |\n| \u003cimg src=\"https://upload.wikimedia.org/wikipedia/commons/thumb/5/5e/W3C_icon.svg/212px-W3C_icon.svg.png\" width=\"20\"\u003e | [W3C WebDriver]             | Official W3C WebDriver standard/specification.                                                         |\n| 📚                                                                                                                   | [WebDriver Wiki] | Further information about this UDF (project) like big picture, capabilities, troubleshooting and more. |\n| 📖                                                                                                                   | au3WebDriver.chm                                              | Help file that comes with this UDF (project) download.                                    |\n| 📙                                                                                                                   | [Change Log]                                              | Record of all notable changes to the project                                |\n\n## Features\n\n### *Browser support*\n\n| Chrome      | Edge    | Firefox        | Opera      |\n|-------------|---------|----------------|------------|\n| ![Chrome48] | ![Edge48] | ![Firefox48] | ![Opera48] |\n\n### *Functions*\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ci\u003eCore Functions\u003c/i\u003e\u003c/summary\u003e\n\u003cp\u003e\n\n| Name              | Description                                               |\n| :---              | :---                                                      |\n| _WD_CreateSession | Request new session from web driver.                      |\n| _WD_DeleteSession | Delete existing session.                                  |\n| _WD_Status        | Get current web driver state.                             |\n| _WD_GetSession    | Get details on existing session.                          |\n| _WD_Timeouts      | Set or retrieve the session timeout parameters.           |\n| _WD_Navigate      | Navigate to the designated URL.                           |\n| _WD_Action        | Perform various interactions with the web driver session. |\n| _WD_Window        | Perform interactions related to the current window.       |\n| _WD_FindElement   | Find element(s) by designated strategy.                   |\n| _WD_ElementAction | Perform action on designated element.                     |\n| _WD_ExecuteScript | Execute Javascipt commands.                               |\n| _WD_Alert         | Respond to user prompt.                                   |\n| _WD_GetSource     | Get page source.                                          |\n| _WD_Cookies       | Gets, sets, or deletes the session's cookies.             |\n| _WD_Option        | Sets and get options for the web driver UDF.              |\n| _WD_Startup       | Launch the designated web driver console app.             |\n| _WD_Shutdown      | Kill the web driver console app.                          |\n\n\u003cp\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ci\u003eHelper Functions\u003c/i\u003e\u003c/summary\u003e\n\u003cp\u003e\n\n| Name                    | Description                                                                     |\n|-------------------------|---------------------------------------------------------------------------------|\n| _WD_Attach              | Attach to existing browser tab.                                                 |\n| _WD_CheckContext        | Check if browser context is still valid.                                        |\n| _WD_ConsoleVisible      | Control visibility of the webdriver console app.                                |\n| _WD_DebugSwitch         | Switch to new debug level or switch back to saved debug level.                  |\n| _WD_DispatchEvent       | Create and dispatch events.                                                     |\n| _WD_DownloadFile        | Download file and save to disk.                                                 |\n| _WD_ElementActionEx     | Perform advanced action on designated element.                                  |\n| _WD_ElementOptionSelect | Find and click on an option from a Select element.                              |\n| _WD_ElementSelectAction | Perform action on designated Select element.                                    |\n| _WD_ElementStyle        | Set/Get element style property.                                                 |\n| _WD_FrameEnter          | Enter the specified frame.                                                      |\n| _WD_FrameLeave          | Leave the current frame, to its parent.                                         |\n| _WD_FrameList           | Retrieves a detailed list of the main document and all associated frames.       |\n| _WD_FrameListFindElement| Search the current document and return locations of matching elements.          |\n| _WD_GetBrowserPath      | Retrieve path to browser executable from registry.                              |\n| _WD_GetBrowserVersion   | Get version number of specified browser.                                        |\n| _WD_GetContext          | Retrieve the element ID of the current browsing context.                        |\n| _WD_GetDevicePixelRatio | Returns an integer indicating the DevicePixelRatio.                             |\n| _WD_GetElementById      | Locate element by id.                                                           |\n| _WD_GetElementByName    | Locate element by name.                                                         |\n| _WD_GetElementByRegEx   | Find element by matching attributes values using Javascript regular expression. |\n| _WD_GetElementFromPoint | Retrieves reference to element at specified point.                              |\n| _WD_GetFrameCount       | Returns the number of frames/iframes in the current document context.           |\n| _WD_GetFreePort         | Locate and return an available TCP port within a defined range.                 |\n| _WD_GetMouseElement     | Retrieves reference to element below mouse pointer.                             |\n| _WD_GetShadowRoot       | Retrieves the shadow root of an element.                                        |\n| _WD_GetTable            | Return all elements of a table.                                                 |\n| _WD_GetWebDriverVersion | Get version number of specifed webdriver.                                       |\n| _WD_HighlightElements   | Highlights the specified elements.                                              |\n| _WD_IsFullScreen        | Return a boolean indicating if the session is in full screen mode.              |\n| _WD_IsLatestRelease     | Compares local UDF version to latest release on Github.                         |\n| _WD_IsWindowTop         | Returns a boolean of the session being at the top level, or in a frame(s).      |\n| _WD_JsonActionKey       | Formats keyboard \"action\" strings for use in _WD_Action                         |\n| _WD_JsonActionPause     | Formats pause \"action\" strings for use in _WD_Action                            |\n| _WD_JsonActionPointer   | Formats pointer \"action\" strings for use in _WD_Action                          |\n| _WD_JsonCookie          | Formats \"cookie\" JSON strings for use in _WD_Cookies.                           |\n| _WD_LastHTTPResponse    | Return the response of the last WinHTTP request.                                |\n| _WD_LastHTTPResult      | Return the result of the last WinHTTP request.                                  |\n| _WD_LinkClickByText     | Simulate a mouse click on a link with text matching the provided string.        |\n| _WD_LoadWait            | Wait for a browser page load to complete before returning.                      |\n| _WD_NewTab              | Create new tab in current browser session.                                      |\n| _WD_PrintToPDF          | Print the current tab in paginated PDF format.                                  |\n| _WD_Screenshot          | Takes a screenshot of the Window or Element.                                    |\n| _WD_SelectFiles         | Select files for uploading to a website.                                        |\n| _WD_SetElementValue     | Set value of designated element.                                                |\n| _WD_SetTimeouts         | User friendly function to set webdriver session timeouts.                       |\n| _WD_Storage             | Provide access to the browser's localStorage and sessionStorage objects.        |\n| _WD_UpdateDriver        | Replace web driver with newer version, if available.                            |\n| _WD_WaitElement         | Wait for an element in the current tab before returning.                        |\n| _WD_WaitScript          | Wait for a JavaScript snippet to return true.                                   |\n| _WD_jQuerify            | Inject jQuery library into current session.                                     |\n\n\u003cp\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ci\u003eCDP Functions\u003c/i\u003e\u003c/summary\u003e\n\u003cp\u003e\n\n| Name                  | Description                                     |\n| :---                  | :---                                            |\n| _WD_CDPExecuteCommand | Execute CDP command.                            |\n| _WD_CDPGetSettings    | Retrieve CDP related settings from the browser. |\n\n\u003cp\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ci\u003eCapabilities Functions\u003c/i\u003e\u003c/summary\u003e\n\u003cp\u003e\n\n| Name                    | Description                      |\n| :---                    | :---                             |\n| _WD_CapabilitiesStartup | Start new Capabilities build     |\n| _WD_CapabilitiesAdd     | Add capablitities to JSON string |\n| _WD_CapabilitiesGet     | Get the JSON string              |\n| _WD_CapabilitiesDump    | Dump to console                  |\n| _WD_CapabilitiesDefine  | Define a new capability by selecting a type and specifying a name      |\n\n\u003cp\u003e\n\u003c/details\u003e\n\n## Getting started\n\n#### *Preconditions*\n\nDownload and add the following mandatory Third-Party UDFs to your project folder (independent of the browser you want to automate).\n\n- Mandatory ✔\n  - [Json UDF] - Archive includes *Json.au3* \u0026 *BinaryCall.au3*.\n  - [WinHTTP UDF] - Archive includes *WinHttp.au3* \u0026 *WinHttpConstants.au3*.\n- Optional ⚠\n  - [WinHttp_WebSocket UDF] - Needed for websocket CDP functionality.\n\nDownload and install one of the following WebDrivers (depending on the browser type and version you want to automate).\n\n|    Browser   | Download             | Implementation status        |\n|:------------:|----------------------|------------------------------|\n|  ![Chrome16] | [Chrome][ChromeDL]   | [Status][ChromeStatus]       |\n|   ![Edge16]  | [Edge][EdgeDL]       | [Status][EdgeStatus]         |\n| ![Firefox16] | [Firefox][FirefoxDL] | [Status][FirefoxStatus] [^1] |\n|  ![Opera16]  | [Opera][OperaDL]     | [^2]                         |\n\nLimitation notice. [^3]\n\n[^1]: Login Required\n[^2]: Derived from ChromeDriver per project [ReadMe][Opera ReadMe]\n[^3]: Not all WebDriver functions have been fully implemented by each browser. Keep that in mind and check the \"Implementation status\" for your desired WebDriver of choice.\n\n#### *Installation*\n\nTo automate your browser, follow the following steps.\n\n1. Download at least the mandatory [Third-Party UDFs](#preconditions).\n2. Move the UDFs to your project folder or to a directory where AutoIt can find them.\n    - All *wd_\\*.au3* files and the Third-Party UDFs *\\*.au3* should be placed in the same directory.\n    - Otherwise you have to adjust the `#include` statements in the files.\n3. Move your desired WebDriver of choice to the directory containing the *wd_\\*.au3* files.\n\n#### *Usage*\n\nRun `wd_demo.au3`, choose your \"Browser\" from the dropdown and press the \"Run Demo!\" button that will perform the \"DemoNavigation\" demo to validate your installation.\n\n## Configuration\n\nUseful information about possible configurations following soon.\u003cbr\u003e\n\n#### Github Integration\n\nTo ensure your GitHub project always has the latest version of the UDF --\n\n1. Open your prefered shell (cmd, powershell, bash, zsh)\n2. Navigate to your GitHub Autoit repository\n3. Run `git submodule add https://github.com/Danp2/au3WebDriver`\n4. (OPTIONALLY) Run `git mv au3WebDriver Includes\\au3WebDriver` to relocate the UDF into an Includes folder\n\n## Contributing\n\nJust look at [CONTRIBUTING], thank you!\n\n## License\n\nDistributed under the MIT License. See [LICENSE] for more information.\n\n## Acknowledgements\n\n- Opportunity by [GitHub](https://github.com)\n- Badges by [Shields](https://shields.io)\n- Thanks to the authors of the Third-Party UDFs\n  - *Json UDF* by @Ward and @Jos\n  - *WinHTTP UDF* by @trancexx/[@dragana-r](https://github.com/dragana-r)\n  - *WinHttp_WebSocket UDF* by @Danp2\n- Thanks to the maintainers\n  - Thanks to [@Danp2](https://github.com/Danp2) for the project idea, creation and maintenance\n  - Thanks to [@mLipok](https://github.com/mLipok) for his *wd_capabilities.au3*\n  - Thanks to [@Sven-Seyfert](https://github.com/Sven-Seyfert) for the project logo\n  - **Big thanks** to all the hard-working [contributors]\n\n##\n\n[To the top](#)\n\n[Chrome48]: https://raw.githubusercontent.com/alrra/browser-logos/main/src/chrome/chrome_48x48.png\n[Chrome16]: https://raw.githubusercontent.com/alrra/browser-logos/main/src/chrome/chrome_16x16.png\n[Edge48]: https://raw.githubusercontent.com/alrra/browser-logos/main/src/edge/edge_48x48.png\n[Edge16]: https://raw.githubusercontent.com/alrra/browser-logos/main/src/edge/edge_16x16.png\n[Firefox48]: https://raw.githubusercontent.com/alrra/browser-logos/main/src/firefox/firefox_48x48.png\n[Firefox16]: https://raw.githubusercontent.com/alrra/browser-logos/main/src/firefox/firefox_16x16.png\n[Opera48]: https://raw.githubusercontent.com/alrra/browser-logos/main/src/opera/opera_48x48.png\n[Opera16]: https://raw.githubusercontent.com/alrra/browser-logos/main/src/opera/opera_16x16.png\n[ChromeDL]: https://sites.google.com/chromium.org/driver/downloads\n[ChromeStatus]: https://chromium.googlesource.com/chromium/src/+/master/docs/chromedriver_status.md\n[EdgeStatus]: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/\n[EdgeDL]: https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/\n[FirefoxStatus]: https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette/WebDriver/status\n[FirefoxDL]: https://github.com/mozilla/geckodriver/releases/latest\n[OperaDL]: https://github.com/operasoftware/operachromiumdriver/releases/latest\n[License]: https://github.com/Danp2/au3WebDriver/blob/master/LICENSE\n[Contributors]: https://github.com/Danp2/au3WebDriver/graphs/contributors\n[W3C WebDriver]: https://www.w3.org/TR/webdriver/\n[WebDriver Wiki]: https://www.autoitscript.com/wiki/WebDriver\n[Opera ReadMe]: https://github.com/operasoftware/operachromiumdriver/blob/master/README.md\n[Json UDF]: https://www.autoitscript.com/forum/topic/148114-a-non-strict-json-udf-jsmn\n[WinHTTP UDF]: https://github.com/dragana-r/autoit-winhttp/releases/latest\n[WinHttp_WebSocket UDF]: https://github.com/Danp2/autoit-websocket\n[CONTRIBUTING]: https://github.com/Danp2/au3WebDriver/blob/master/docs/CONTRIBUTING.md\n[Change Log]: https://github.com/Danp2/au3WebDriver/blob/master/CHANGELOG.md","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanp2%2Fau3webdriver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanp2%2Fau3webdriver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanp2%2Fau3webdriver/lists"}