Jump to content

WebDriver UDF (W3C compliant version) - 2024/02/19


Danp2
 Share

Recommended Posts

@noellarkinThat directory probably isn't in your PATH environment variable, which would explain why it couldn't be found. For the purpose of running the demo, I would place the webdriver executable in the some directory as the script.

P.S. This type of question belongs in the GH&S thread (see my sig) 🙂

Link to comment
Share on other sites

  • 4 weeks later...

https://github.com/Danp2/au3WebDriver/blob/master/wd_core.au3

; WebDriver related UDF's
#include "JSON.au3" ; https://www.autoitscript.com/forum/topic/148114-a-non-strict-json-udf-jsmn
#include "WinHttp.au3" ; https://www.autoitscript.com/forum/topic/84133-winhttp-functions/

https://www.autoitscript.com/forum/topic/148114-a-non-strict-json-udf-jsmn

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

On 10/31/2022 at 4:33 AM, mLipok said:

https://github.com/Danp2/au3WebDriver/blob/master/wd_core.au3

; WebDriver related UDF's
#include "JSON.au3" ; https://www.autoitscript.com/forum/topic/148114-a-non-strict-json-udf-jsmn
#include "WinHttp.au3" ; https://www.autoitscript.com/forum/topic/84133-winhttp-functions/

https://www.autoitscript.com/forum/topic/148114-a-non-strict-json-udf-jsmn

I mean i go that link but then i dont know where, theres any json.au3 attached

Link to comment
Share on other sites

  • 1 month later...

Looking for some help , The below code works fine in Firefox, but does not work in Chrome , that attach fails with $_WD_OPTION_NoMatch = 8 

Can see that the new tab has been created and is named DETAILS.pdf , but the attach fails

Using ChromeDriver 108.0.5359.71

Using Autoit 3.3.16.1

;excute script to generate Details and it will open a new tab in Existing Browser , Named Details 
_WD_ExecuteScript($_MY__WD_SESSION, "submitAction_win0(document.win0,'GET_DETAILS_ALT$0');")


;attach to the new tab , wait loop until the attach returns error code of 0  
do

_WD_Attach($_MY__WD_SESSION, "DETAILS.pdf")
ConsoleWrite("Attaching to details " & @error & "/" & $_MY__WD_SESSION & @crlf)

until @error =0

 

Link to comment
Share on other sites

@HighlanderSwordYou haven't provide a way for us to replicate the scenario, so it's difficult to guide you. Have you tried running your script with

$WD_DEBUG = $_WD_DEBUG_Full

and then reviewing the contents of the Scite output panel for possible causes? You should be able to see the title of each tab as it is retrieved within the _WD_Attach function. Another option would be to switch to using the URL instead of the title to locate the desired tab.

Link to comment
Share on other sites

  • Danp2 changed the title to WebDriver UDF (W3C compliant version) - 2023/02/15
  • Danp2 changed the title to WebDriver UDF (W3C compliant version) - 2023/03/26

 Latest update just released. See below for change log.

Quote

## [ 0.13.0]

### Added

- _WD_ElementActionEx: Support for `remove` command (@Sven-Seyfert)

### Changed

- _WD_LoadWait: Invalid context detection
- _WD_CheckContext: Invalid context detection
- _WD_Window: Accept unformatted handles (@seadoggie01)
- _WD_CreateSession: Improved error handling (@mlipok)
- __WD_DetectError
    - Detect session not created errors
    - Detect shadow root not found errors
    - Detect frame not found errors
- _WD_DebugSwitch: Refactored to allow returning current stack size (@mlipok)
- _WD_FrameList: Added frame visibility information (@mlipok)
- _WD_ExecuteScript: Improved logging messages
- _WD_Shutdown: Add delay before closing webdriver
- wd_demo
    - Set `binary` capability for geckodriver & operadriver
    - Added UserFile demo to allow execution of code from file

### Fixed

- _WD_FrameLeave: Error reporting (@mlipok)
- Remove leftover $_WD_HTTPRESULT checks (_WD_Window, _WD_ElementAction, _WD_FindElement)

 

 

Link to comment
Share on other sites

  • 2 weeks later...

Hi @bdr529,

I don't see the point why you paste a single link to this conversation 🤔 ? In the "au3WebDriver" repository, to be more specific in the ReadMe.md file is a Getting started section with the download links of the current browser versions (Chrome, Firefox [...]). This should help you and others the get the correct Drivers.

Besides this, you can download the latest Driver of you favorite browser by the _WD_UpdateDriver() (see wd_helper.au3) 😀 .

Best regards
Sven

 

Stay innovative!

Spoiler

🌍 Au3Forums

🎲 AutoIt (en) Cheat Sheet

📊 AutoIt limits/defaults

💎 Code Katas: [...] (comming soon)

🎭 Collection of GitHub users with AutoIt projects

🐞 False-Positives

🔮 Me on GitHub

💬 Opinion about new forum sub category

📑 UDF wiki list

✂ VSCode-AutoItSnippets

📑 WebDriver FAQs

👨‍🏫 WebDriver Tutorial (coming soon)

Link to comment
Share on other sites

1 minute ago, SOLVE-SMART said:

Hi @bdr529,

I don't see the point why you paste a single link to this conversation 🤔 ? In the "au3WebDriver" repository, to be more specific in the ReadMe.md file is a Getting started section with the download links of the current browser versions (Chrome, Firefox [...]). This should help you and others the get the correct Drivers.

Besides this, you can download the latest Driver of you favorite browser by the _WD_UpdateDriver() (see wd_helper.au3) 😀 .

Best regards
Sven

 

ok sorry

To community goes all my regards and thanks

Link to comment
Share on other sites

No need for a "sorry", all good. I guess you tried to be helpful which is fine 👍 . I just want to mention that a bit more context (instead of a single link) would be better 🤝 .

Best regards
Sven

Stay innovative!

Spoiler

🌍 Au3Forums

🎲 AutoIt (en) Cheat Sheet

📊 AutoIt limits/defaults

💎 Code Katas: [...] (comming soon)

🎭 Collection of GitHub users with AutoIt projects

🐞 False-Positives

🔮 Me on GitHub

💬 Opinion about new forum sub category

📑 UDF wiki list

✂ VSCode-AutoItSnippets

📑 WebDriver FAQs

👨‍🏫 WebDriver Tutorial (coming soon)

Link to comment
Share on other sites

2 hours ago, bdr529 said:

This was related to:

https://github.com/Danp2/au3WebDriver/issues/26

so the correct place would be like here:

https://github.com/Danp2/au3WebDriver/issues/26#issuecomment-1497145066

 

btw.
we already know that ShadowRoots for Firefox will be fixed soon:

Quote

Note that the minimum required Firefox version is 113.0.

 

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) - 2023/04/28

 Latest update just released. See below for change log.

Quote

## [1.0.0] - 2023-04-28

### Added

- Support for MSEdge browser in IE mode (@mlipok)
- _WD_FrameListFindElement (@mlipok)
- _WD_GetContext
- _WD_Option: Support for `DetailErrors` option
- _WD_WaitScript (@ye7iaserag)

### Changed
- _WD_FrameList (@mlipok)
    - Refactored for better performance
    - Improved frame support
    - Improved logging
    - Optional parameters to control initial delay and timeout
- _WD_GetFreePort
    - New error code to indicate internal error
    - Returns starting port number instead of 0 when an error occurs
    - Improved logging
- _WD_SetElementValue: Masking value in $sParameters
- _WD_Startup: Improve logging when error occurs in _WD_GetFreePort
- Enable optional detailed error reporting
    - _WD_Attach
    - _WD_CreateSession
    - _WD_DeleteSession
    - _WD_FrameEnter
    - _WD_FrameLeave
    - _WD_FrameList
    - _WD_LinkClickByText
- wd_demo: Improvements to "userfile" option

### Fixed

_WD_GetElementFromPoint: Frame support

 

 

Link to comment
Share on other sites

I sugesst to all interested in WebDriver usage to check wd_demo.au3 especially DemoFrames because there is many changes related to frames and DemoFrames should show how to use the new stuff.

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) - 2024/02/19

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...