Jump to content

Recommended Posts

Hey Every 1 :bye:

When I was a Beginner I always had a Hard Time to Understand the SQLite

I have made a UDF for SQLite so that Beginners Would Also Be Able to Do the Stuff .

Much Of Description is Given in the UDF.

To Understand Read It.

For Advanced Users it may not be sooo goood But Then Also Have a Look .

Thumbs Up if it Helped.. :)

The UDF is Attached for Download..

N herez the Index

#region    -Functions For User-
;_Insert
;_Update
;_Delete
;_FetchData
;_LoadDatabase
;_UnLoadDatabase
;_Cryptor
#endregion    -Functions For User-

#region  -Internal Functions-
;_DefaultAnalyser()
#endregion  -Internal Functions-

1 more Request

If You Use the Script Please Reply me of any Bugs or any Further Modifications for Betterment... :)

The UDF

v0.3 Database.7z

[Previous Downloads : 388]

Regards

Phoenix XL

Edited by PhoenixXL

My code:

PredictText: Predict Text of an Edit Control Like Scite. Remote Gmail: Execute your Scripts through Gmail. StringRegExp:Share and learn RegExp.

Run As System: A command line wrapper around PSEXEC.exe to execute your apps scripts as System (LSA). Database: An easier approach for _SQ_LITE beginners.

MathsEx: A UDF for Fractions and LCM, GCF/HCF. FloatingText: An UDF for make your text floating. Clipboard Extendor: A clipboard monitoring tool. 

Custom ScrollBar: Scroll Bar made with GDI+, user can use bitmaps instead. RestrictEdit_SRE: Restrict text in an Edit Control through a Regular Expression.

Link to post
Share on other sites
  • 1 month later...

60 Downloads Yet no Reply

Please give Feedback

My code:

PredictText: Predict Text of an Edit Control Like Scite. Remote Gmail: Execute your Scripts through Gmail. StringRegExp:Share and learn RegExp.

Run As System: A command line wrapper around PSEXEC.exe to execute your apps scripts as System (LSA). Database: An easier approach for _SQ_LITE beginners.

MathsEx: A UDF for Fractions and LCM, GCF/HCF. FloatingText: An UDF for make your text floating. Clipboard Extendor: A clipboard monitoring tool. 

Custom ScrollBar: Scroll Bar made with GDI+, user can use bitmaps instead. RestrictEdit_SRE: Restrict text in an Edit Control through a Regular Expression.

Link to post
Share on other sites

Thanks for sharing!

Make sure brain is in gear before opening mouth!
Remember, what is not said, can be just as important as what is said.

Spoiler

What is the Secret Key? Life is like a Donut

If I put effort into communication, I expect you to read properly & fully, or just not comment.
Ignoring those who try to divert conversation with irrelevancies.
If I'm intent on insulting you or being rude, I will be obvious, not ambiguous about it.
I'm only big and bad, to those who have an over-active imagination.

I may have the Artistic Liesense ;) to disagree with you. TheSaint's Toolbox (be advised many downloads are not working due to ISP screwup with my storage)

userbar.png

Link to post
Share on other sites

Nice script! Might I suggest using Tidy to make your code easier to read? Press CTRL+T. in scite. :)

One thing I've always pondered on is how to prevent SQL injection. Any suggestions? Stripping is generally the most common technique, although it is generally frowned upon if you rely on this.

My work in AutoIt (Not many yet):

Parse Large Text Files To 2D Array Quickly [With Chunk Size]

 

My artificial intelligence project coded entirely in AutoIt. Meet Alice Assistant: http://facebook.com/ProjectAliceAI

 

Link to post
Share on other sites

Encrypting the data before storing would be a good idea

My code:

PredictText: Predict Text of an Edit Control Like Scite. Remote Gmail: Execute your Scripts through Gmail. StringRegExp:Share and learn RegExp.

Run As System: A command line wrapper around PSEXEC.exe to execute your apps scripts as System (LSA). Database: An easier approach for _SQ_LITE beginners.

MathsEx: A UDF for Fractions and LCM, GCF/HCF. FloatingText: An UDF for make your text floating. Clipboard Extendor: A clipboard monitoring tool. 

Custom ScrollBar: Scroll Bar made with GDI+, user can use bitmaps instead. RestrictEdit_SRE: Restrict text in an Edit Control through a Regular Expression.

Link to post
Share on other sites

djkman,

that's a dozy. the main thing is to have a function that separates an SQL statement and data into separate parameters.

then encode the data before inserting it into your sql statement to be executed.

PROBLEM SOLVED. i believe python does this as well.

ongoing projects:-firestorm: Largescale P2P Social NetworkCompleted Autoit Programs/Scripts: Variable Pickler | Networked Streaming Audio (in pure autoIT) | firenet p2p web messenger | Proxy Checker | Dynamic Execute() Code Generator | P2P UDF | Graph Theory Proof of Concept - Breadth First search

Link to post
Share on other sites

Added : The support for finding the number of rows and cells in v0.2

Check the v0.2 in the First post

Edited by PhoenixXL

My code:

PredictText: Predict Text of an Edit Control Like Scite. Remote Gmail: Execute your Scripts through Gmail. StringRegExp:Share and learn RegExp.

Run As System: A command line wrapper around PSEXEC.exe to execute your apps scripts as System (LSA). Database: An easier approach for _SQ_LITE beginners.

MathsEx: A UDF for Fractions and LCM, GCF/HCF. FloatingText: An UDF for make your text floating. Clipboard Extendor: A clipboard monitoring tool. 

Custom ScrollBar: Scroll Bar made with GDI+, user can use bitmaps instead. RestrictEdit_SRE: Restrict text in an Edit Control through a Regular Expression.

Link to post
Share on other sites
  • Moderators

Added : The support for finding the number of rows and cells in v0.2

Check the v0.2 in the First post

There are easier ways to get the row and column counts than dragging the entire database into memory.

Keep in mind, some databases could be really large.

Row Count #1

;; Warning, see: http://www.sqlite.org/autoinc.html

Func _Fetch_MaxRowID($h_db, $s_table, $s_condition = "")

    Local $f_dbopened = False
    If $h_db <> -1 And $h_db < 1 Then
        $h_db = _SQLite_Open($h_db, $SQLITE_READONLY)
        If $h_db < 1 Then Return SetError(1, 0, 0)
        $f_dbopened = True
    EndIf

    If $s_condition Then $s_condition = " " & $s_condition
    Local $n_retval, $h_query
    $n_retval = _SQLite_Query($h_db, "SELECT MAX(RowID) FROM " & $s_table & $s_condition & ";", $h_query)
    If $n_retval <> $SQLITE_OK Then
        If $f_dbopened Then _SQLite_Close($h_db)
        Return SetError(2, 0, 0)
    EndIf

    Local $a_r
    _SQLite_FetchData($h_query, $a_r)
    _SQLite_QueryFinalize($h_query)

    If $f_dbopened Then _SQLite_Close($h_db)

    If Not IsArray($a_r) Then Return 0

    Return Int($a_r[0])
EndFunc

Row Count #2 ; a bit slower than the previous but safer

Func _Fetch_RowIDCount($h_db, $s_table, $s_condition = "")

    Local $f_dbopened = False
    If $h_db <> -1 And $h_db < 1 Then
        $h_db = _SQLite_Open($h_db, $SQLITE_READONLY)
        If $h_db < 1 Then Return SetError(1, 0, 0)
        $f_dbopened = True
    EndIf

    If $s_condition Then $s_condition = " " & $s_condition
    Local $n_retval, $h_query
    $n_retval = _SQLite_Query($h_db, "SELECT COUNT(RowID) FROM " & $s_table & $s_condition & ";", $h_query)
    If $n_retval <> $SQLITE_OK Then
        If $f_dbopened Then _SQLite_Close($h_db)
        Return SetError(2, 0, 0)
    EndIf

    Local $a_r
    _SQLite_FetchData($h_query, $a_r)
    _SQLite_QueryFinalize($h_query)

    If $f_dbopened Then _SQLite_Close($h_db)

    If Not IsArray($a_r) Then Return 0

    Return Int($a_r[0])
EndFunc

Column count and column name fetch

Func _Fetch_ColumnCount($h_db, $s_table)

    Local $a_names = _Fetch_ColumnNames($h_db, $s_table)
    If @error Then Return SetError(@error, 0, 0)

    Return UBound($a_names)
EndFunc

Func _Fetch_ColumnNames($h_db, $s_table)

    Local $f_dbopened = False
    If $h_db <> -1 And $h_db < 1 Then
        $h_db = _SQLite_Open($h_db, $SQLITE_READONLY)
        If $h_db < 1 Then Return SetError(1, 0, 0)
        $f_dbopened = True
    EndIf

    Local $n_retval, $h_query
    Local $s_query = "PRAGMA table_info(" & $s_table & ");"
    $n_retval = _SQLite_Query($h_db, $s_query, $h_query)
    If $n_retval <> $SQLITE_OK Then
        If $f_dbopened Then _SQLite_Close($h_db)
        Return SetError(2, 0, 0)
    EndIf

    Local $a_r, $s_names
    While _SQLite_FetchData($h_query, $a_r) = $SQLITE_OK
        $s_names &= $a_r[1] & @CR
    WEnd

    _SQLite_QueryFinalize($h_query)

    If $f_dbopened Then _SQLite_Close($h_db)

    $s_names = StringTrimRight($s_names, 1)
    If Not $s_names Then Return SetError(3, 0, 0)

    Return StringSplit($s_names, @CR, 2)
EndFunc

I did not test them extensively, but they are versions of some things I use.

Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.

Link to post
Share on other sites

Thnks I will add them to the UDF

My code:

PredictText: Predict Text of an Edit Control Like Scite. Remote Gmail: Execute your Scripts through Gmail. StringRegExp:Share and learn RegExp.

Run As System: A command line wrapper around PSEXEC.exe to execute your apps scripts as System (LSA). Database: An easier approach for _SQ_LITE beginners.

MathsEx: A UDF for Fractions and LCM, GCF/HCF. FloatingText: An UDF for make your text floating. Clipboard Extendor: A clipboard monitoring tool. 

Custom ScrollBar: Scroll Bar made with GDI+, user can use bitmaps instead. RestrictEdit_SRE: Restrict text in an Edit Control through a Regular Expression.

Link to post
Share on other sites
  • Moderators

Thnks I will add them to the UDF

I was hoping to enlighten more than have it added.

Good luck.

Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.

Link to post
Share on other sites
  • 2 months later...

Hi! Thanks for what seems to be a really useful UDF.

I'm newbie and I'm trying to learn SQLite.

Anyways this is what I get when trying your UDF:

>Running:(3.3.8.1):C:\Program Files (x86)\AutoIt3\autoit3_x64.exe "C:\Users\Sergio\Downloads\Database v0.2.au3"
->id:1 data: parameters:Hello No. of Cells: 3 No of Rows: 1
->id:1 data:0x2095F423F0E80A284B61C7D890E5E951 parameters:Nothing No. of Cells: 3 No of Rows: 1
-> data:Heya

!> Return Value From _FetchData: -1 Error Code:1

+>16:29:34 AutoIT3.exe ended.rc:0
>Exit code: 0 Time: 1.796

What am I missing?

Edited by Zoldex
Link to post
Share on other sites

Its just Perfect

Looks as if u didnt read the comments in the examples section

My code:

PredictText: Predict Text of an Edit Control Like Scite. Remote Gmail: Execute your Scripts through Gmail. StringRegExp:Share and learn RegExp.

Run As System: A command line wrapper around PSEXEC.exe to execute your apps scripts as System (LSA). Database: An easier approach for _SQ_LITE beginners.

MathsEx: A UDF for Fractions and LCM, GCF/HCF. FloatingText: An UDF for make your text floating. Clipboard Extendor: A clipboard monitoring tool. 

Custom ScrollBar: Scroll Bar made with GDI+, user can use bitmaps instead. RestrictEdit_SRE: Restrict text in an Edit Control through a Regular Expression.

Link to post
Share on other sites

Yes! You're right.

The truth is this is my first attempt with sqlite and must finish a project within two months and I was so scared about how difficult it could be that I didn't look enough through your script.

Now, after reading your script, at least I learned hot to properly use the syntax of the sqlite command "insert" and i'm a little less scared now...

Before I was using

_SQLite_Exec(-1, "INSERT INTO aTest(a,b,c) VALUES ($variable,'1','Hello');")

Now I understand I must use

_SQLite_Exec(-1, "INSERT INTO aTest(a,b,c) VALUES (" & $variable & ",'1','Hello');")
Link to post
Share on other sites

yep

right

hope so you understand the Example :)

My code:

PredictText: Predict Text of an Edit Control Like Scite. Remote Gmail: Execute your Scripts through Gmail. StringRegExp:Share and learn RegExp.

Run As System: A command line wrapper around PSEXEC.exe to execute your apps scripts as System (LSA). Database: An easier approach for _SQ_LITE beginners.

MathsEx: A UDF for Fractions and LCM, GCF/HCF. FloatingText: An UDF for make your text floating. Clipboard Extendor: A clipboard monitoring tool. 

Custom ScrollBar: Scroll Bar made with GDI+, user can use bitmaps instead. RestrictEdit_SRE: Restrict text in an Edit Control through a Regular Expression.

Link to post
Share on other sites

Yeah I'm slowly understanding the mechanics...

anyways, I got fooled from the parameter definition you gave:

Syntax: _Insert_Update_Delete($sAction,$sData,$sWhere,$Table_Name='Database')

Parameters:
$sAction :1=Insert , 2=Update , 3=Delete

I guessed (after an hour) that should be

Parameters:

$sAction :0=Insert , 1=Update , 2=Delete

Isn't it?

Link to post
Share on other sites

oops, my mistake :>

thats right

Parameters:

$sAction :0=Insert , 1=Update , 2=Delete

will change them

Thnx for the clarification

My code:

PredictText: Predict Text of an Edit Control Like Scite. Remote Gmail: Execute your Scripts through Gmail. StringRegExp:Share and learn RegExp.

Run As System: A command line wrapper around PSEXEC.exe to execute your apps scripts as System (LSA). Database: An easier approach for _SQ_LITE beginners.

MathsEx: A UDF for Fractions and LCM, GCF/HCF. FloatingText: An UDF for make your text floating. Clipboard Extendor: A clipboard monitoring tool. 

Custom ScrollBar: Scroll Bar made with GDI+, user can use bitmaps instead. RestrictEdit_SRE: Restrict text in an Edit Control through a Regular Expression.

Link to post
Share on other sites

Another thing, but it could be my mistake, should be the syntax:

Syntax: _Insert_Update_Delete($sAction,$sData,$sWhere,$Table_Name='Database')

...but in the example you've written

; Inserting into column id,parameters the value 1 and Hello
If $_Just_Created Then _Insert_Update_Delete(0, 'id,parameters', "'1','Hello'")

id,parameters looks like a $sWhere and 1,Hello looks as $sData

I'm a bit confused about that

Edited by Zoldex
Link to post
Share on other sites

Well dont get to the name of the variables its just the Syntax Sequence with respect to the syntax sequence of the _SQ_LITE commands

That is since Values are after the Column name therefore $sWhere and $sData correspond to them respectively

Hope it helps

I will Update the UDF to make things little bit less confusing :)

Edited by PhoenixXL

My code:

PredictText: Predict Text of an Edit Control Like Scite. Remote Gmail: Execute your Scripts through Gmail. StringRegExp:Share and learn RegExp.

Run As System: A command line wrapper around PSEXEC.exe to execute your apps scripts as System (LSA). Database: An easier approach for _SQ_LITE beginners.

MathsEx: A UDF for Fractions and LCM, GCF/HCF. FloatingText: An UDF for make your text floating. Clipboard Extendor: A clipboard monitoring tool. 

Custom ScrollBar: Scroll Bar made with GDI+, user can use bitmaps instead. RestrictEdit_SRE: Restrict text in an Edit Control through a Regular Expression.

Link to post
Share on other sites
  • 2 weeks later...

Hi, Can anyone create a UDF for the FireBird?

you should make a new topic regarding your help requests :)

My code:

PredictText: Predict Text of an Edit Control Like Scite. Remote Gmail: Execute your Scripts through Gmail. StringRegExp:Share and learn RegExp.

Run As System: A command line wrapper around PSEXEC.exe to execute your apps scripts as System (LSA). Database: An easier approach for _SQ_LITE beginners.

MathsEx: A UDF for Fractions and LCM, GCF/HCF. FloatingText: An UDF for make your text floating. Clipboard Extendor: A clipboard monitoring tool. 

Custom ScrollBar: Scroll Bar made with GDI+, user can use bitmaps instead. RestrictEdit_SRE: Restrict text in an Edit Control through a Regular Expression.

Link to post
Share on other sites

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
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By p4sCh
      Hello everyone,
      I've created a UDF for basic communication with SSH servers. I know there is already such a UDF, but I wasn't satisfied with it for my purpose, so I created a new one.
      This UDF also acts as a wrapper for the plink executable. Its essential functions are _SSHConnect, _SSHSend, _SSHRecv and _SSHCloseSocket.
      It does support multiple simultaneous connections and aims to be pretty robust. Feel free to share your opinions
      Two of the included examples use a slightly modified version of Vintage Terminal by @Chimp
      Download
      The download includes ssh.au3 (UDF), plink.exe (necessary), vintage terminal and code examples:
      Version 1.0.1
      - fixed rare _SSHConnect bug where "ssh-host-key prompt" was not answered
      SSH UDF 1.0.1.zip
       
    • By water
      I have started to rewrite the PowerPoint UDF similar to the Word, Excel and Outlook UDF. The new UDF will not be compatible with the existing one.
      I will add examples, documentation, a section in the wiki etc.
      So far the following functions have been coded - more are on the ToDo list.
      _PPT_Open: Open a connection to a running instance of PowerPoint or start a new one _PPT_Close: Close a PowerPoint instance _PPT_CommentAdd: Add a Comment anywhere on a Slide or connected to a Shape (version 1.5.0.0 2021-08-31) _PPT_CommentDelete: Delete a single Comment from a Slide or all Comments from a SlideRange (version 1.5.0.0 2021-08-31) _PPT_CommentList: Get a list of all Comments in a Presentation (version 1.5.0.0 2021-08-31) _PPT_ConvertUnits: Convert units (like centimeters) to other units (like points) (version 1.3.0.0 2021-08-17) _PPT_HeaderFooterList: Returns a list of Headers and Footers for a Presentation (version 1.1.0.0 2021-07-25, removed with version 1.4.0.0 2021-08-25) _PPT_HeaderFooterSet: Sets the Header/Footer for a Slide/Slides or the Slide-/Notes-/Handout-/Title-Master of the Presentation (version 1.2.0.0 2021-08-09) _PPT_PresentationAttach: Attach to an already opened Presentation _PPT_PresentationClose: Close a Presentation _PPT_PresentationExport: Export one/multiple/all Slides as PDF or XPS. _PPT_PresentationExportGraphic: Export one/multiple/all Slides in a graphic format. _PPT_PresentationList: Returns a list of currently open Presentations (version 1.0.0.0 2021-07-20) _PPT_PresentationNew: Create a new Presentation _PPT_PresentationOpen: Open an existing Presentation _PPT_Print: Print one/multiple/all Slides of a Presentation (version 1.0.0.0 2021-07-20) _PPT_PresentationSave: Save a Presentation _PPT_PresentationSaveAs: Save a Presentation to another location or with another type _PPT_ShapeAdd: Add a Shape to a single or multiple Slides (version 1.1.0.0 2021-07-25) _PPT_ShapeAlignDistribute: Aligns and distributes the Shapes in the specified ShapeRange (version 1.6.0.0 - to be released) _PPT_ShapeCopyMove: Copy/move a Shape(s) of a single Slide to a Slide(s) in the same or a different Presentation (version 1.1.0.0 2021-07-25) _PPT_ShapeDelete: Delete a Shape or Shapes from a single or multiple Slides (version 1.1.0.0 2021-07-25) _PPT_SlideAdd: Add slide(s) to a Presentation _PPT_SlideCopyMove: Copy, move, duplicate Slide(s) _PPT_SlideDelete: Delete Slide(s) _PPT_SlideShow: Show a Presentation _PPT_TableGet: Extract data from a PowerPoint Table Shape to an array (version 1.3.0.0 2021-08-17) _PPT_TableSet: Write data to a PowerPoint Table Shape (version 1.3.0.0 2021-08-17) _PPT_TextFindReplace: Find & replace text throughout entire PowerPoint presentation (version 1.0.0.0 2021-07-20) _PPT_TextSet: Sets/modifies the Text of a Shape or Shapes of a single or multiple Slides (version 1.2.0.0 2021-08-09 Which functions do you want me to add to the UDF?
      ToDo list:
      create slide (JLogan3o13) - Done: _PPT_SlideAdd Apply template to slide (JLogan3o13) - Done: _PPT_SlideAdd Apply theme to slide (JLogan3o13) Cut/Copy/Duplicate/Move/Delete slide(s) (JLogan3o13) - Done: _PPT_SlideCopyMove, _PPT_SlideDelete Export slides (JLogan3o13) - Done: _PPT_PresentationExport Cut/Copy/Duplicate/Move/Delete shape(s) (JLogan3o13): Done : _PPT_ShapeCopyMove, _PPT_ShapeDelete (version 1.1.0.0 2021-07-25) ApplyAnimation, Select, SetDefaultProperties, and zOrder for shape(s) (JLogan3o13) Searching and replacing text (pcjunki) - Done: _PPT_TextFindReplace (version 1.0.0.0 2021-07-20) Export slides in a graphic format (JPG, GIF, PNG ...) (UEZ) - Done: _PPT_PresentationExportGraphic The UDF can be downloaded from the download forum.
       
    • By seadoggie01
      This UDF is because I'm tired of trying to use UI Automation and Send to automate Adobe Acrobat. I often need to read the contents of PDFs and Acrobat is not easy to work with as a window.  The functions are based on the API Reference from Adobe located here.
      Acrobat Pro is required for all functions.
      It's very beta right now, but it still seems to work. Currently, the functions are based around page level manipulation of PDF documents: re-arranging, swapping, deleting, and moving pages as this is what I use the most.
      Please feel free to request/suggest features!
       
       
    • By DonChunior
      Introduction 
      In the course of my research for a project involving, among other things, the transfer of large amounts of data, I came across the BITS service and from that the idea for this UDF was born.
      For a brief overview, I'll quote from Microsoft's BITS website (https://docs.microsoft.com/en-us/windows/win32/bits/background-intelligent-transfer-service-portal).
      Availability 🛒
      The BITS UDF can be downloaded from my GitHub repository:
      🔗 https://github.com/DonChunior/BITS-UDF
      Comments 💬
      Currently, only an alpha version of the UDF is available.
      This contains by and large the full functionality of the object interfaces, but still completely lacks error checking and handling.
      I will implement this in the upcoming beta version.
      Therefore I ask you to use the UDF only for testing purposes but not in productive code!
      Acknowledgment 🤝
      Many thanks to @Nine and @Danyfirex.
      You helped me very well in solving some tricky problems.
    • By Hermes
      I have Index.html where it contains a frame with a source "frame1.html". I can select/highlight elements in index.html but unable to select/highlight elements inside the frame with the src "frame1.html", the autoit output is throwing error:
      __WD_Post: URL=HTTP://127.0.0.1:9515/session/2143396006437be4005db3b84acc1496/element/8be1c3c4-5bb1-42b1-8cde-7954765cbc61/element; $sData={"using":"css selector","value":"frameset:nth-of-type(1)"} __WD_Post: StatusCode=404; ResponseText={"value":{"error":"no such element","message":"no such element: Unable to locate element: {\"method\... __WD_Post ==> No match: {"value":{"error":"no such element","message":"no such element: Unable to locate element: {\"method\":\"css selector\",\"selector\":\"frameset:nth-of-type(1)\"}\n (Session info: chrome=90.0.4430.212)","stacktrace":"Backtrace:\n\tOrdinal0 [0x00FCE7D3+124883]\n\tOrdinal0 [0x00FCE7B1+124849]\n\tGetHandleVerifier [0x01218688+193832]\n\tGetHandleVerifier [0x0123C478+340760]\n\tGetHandleVerifier [0x012361F1+315537]\n\tGetHandleVerifier [0x012516BA+427354]\n\tGetHandleVerifier [0x01236176+315414]\n\tGetHandleVerifier [0x0125174A+427498]\n\tGetHandleVerifier [0x0125D6EB+476555]\n\tGetHandleVerifier [0x0125154B+426987]\n\tGetHandleVerifier [0x01234FFD+310941]\n\tGetHandleVerifier [0x01235D8E+314414]\n\tGetHandleVerifier [0x01235D19+314297]\n\tGetHandleVerifier [0x012F31EC+1089676]\n\tGetHandleVerifier [0x012F17C9+1082985]\n\tGetHandleVerifier [0x012F13A3+1081923]\n\tGetHandleVerifier [0x013ED9FD+2115741]\n\tOrdinal0 [0x0111B82E+1488942]\n\tOrdinal0 [0x010B5A7D+1071741]\n\tOrdinal0 [0x010B559B+1070491]\n\tOrdinal0 [0x010B54B1+1070257]\n\tOrdinal0 [0x010EFF53+1310547]\n\tBaseThreadInitThunk [0x770662C4+36]\n\tRtlSubscribeWnfStateChangeNotification [0x776B1B69+1081]\n\tRtlSubscribeWnfStateChangeNotification [0x776B1B34+1028]\n"}} Auto IT Script:
      #Include "wd_core.au3" #Include "wd_helper.au3" Local $sDesiredCapabilities, $sSession SetupChrome() _WD_Startup() $sSession = _WD_CreateSession($sDesiredCapabilities) _WD_Navigate($sSession, 'index.html') _WD_LoadWait($sSession) Local $index = _WD_FindElement($sSession, $_WD_LOCATOR_ByCSSSelector, "frameset:nth-of-type(1)") Local $index1 = _WD_FindElement($sSession, $_WD_LOCATOR_ByCSSSelector, "frameset:nth-of-type(1)", $index) Local $index2 = _WD_FindElement($sSession, $_WD_LOCATOR_ByCSSSelector, "frame:nth-of-type(1)", $index1) Local $index3 = _WD_FindElement($sSession, $_WD_LOCATOR_ByCSSSelector, "frameset:nth-of-type(1)", $index2) _WD_HighlightElement($sSession, $index2, 1) _WD_HighlightElement($sSession, $index3, 1) _WD_Shutdown() Func SetupChrome() _WD_Option('Driver', 'chromedriver.exe') _WD_Option('Port', 9515) _WD_Option('DriverParams', '--log-path="' & @ScriptDir & '\chrome.log"') $sDesiredCapabilities = '{"capabilities": {"alwaysMatch": {"goog:chromeOptions": {"w3c": true, "args":["start-maximized","disable-infobars"]}}}}' EndFunc ;==>SetupChrome  

      frame1.html index.html
×
×
  • Create New...