Opera Library 1.08

   (3 reviews)
Sign in to follow this  
Followers 0


1 Screenshot

About This File

Opera Browser Automation UDF Library!

32 (and more to go) adapted functions to manipulate the most common routines for Opera Browser!

Note: This UDF Library tested on Opera versions: 8.54-9.5, 10.63.3516, few critical functions tested also on 11.x-12.x.

Change Log:

v1.08 [21.Jun.2013]

  • Fixed issue with getting opera profile path (mostly related to _OperaGetMailDir).

v1.07 [04.Jun.2013]

  • + Added _OperaGetDownloadsDir function.
  • + Added _OperaGetSessionFiles function.
  • + Added global $i_Opera_SearchAllDrives variable to allow profile dir detection on other drives. Usefull when installed more than one OS.
  • + Added global $s_Opera_ProfileDir variable to specify custom profile dir (this variable should be empty if you need to use _OperaGetProfileDir).
  • Fixed few functions to work better with new Opera versions.
  • Fixed internal __Opera_GetOperaPageHandle function (used in public _OperaScreenCapture function).

v1.06 [12.Jul.2012]

  • Fixed _OperaGetDir function:
    - To be compatible with x64 system.
    - Changed/expanded parameters, now used $iFlag to determine the function behavior, see function header for more details.
  • _OperaIsRuning function renamed to _OperaIsRunning. Old function name still supported.
  • Renamed internal functions to __Opera_*.

v1.05 [08.Jul.2012]

  • Fixed _OperaGetTitle function, the title was incorrect if $sOpDir was specified and $iRet <> 2.
  • Fixed __Correct_Opera_Path internal function to replace back slashes (/).

v1.04 [26.Jun.2011]

  • Fixed following functions to be more compatible with Opera 11.x:
  • Fixed major bugs with recognizing Opera Dir (if $sOpDir parameter is passed as wrong Opera dir path).
  • Fixed _OperaGetUserJSDir function (now working better with relative pathes).
  • Renamed and changed _Opera_Integration_Example function. Now it's considered active function and named _Opera_Integration_Module.
  • Changed _OperaSelectFolder function. Added new optional parameter $hParent.
  • Changed _OperaAddMenuItem and _OperaRemoveMenuItem functions. Added new optional parameter $iBackup.
  • Fixed _OperaAddMenuItem function. Encoding issues.
  • + Added _OperaGetCacheDir function.
  • + Added optional $iGetLastInstallPath parameter to _OperaGetDir function.
    If this parameter is 1, then function will try to detect the last installed Opera path,
    instead of the path that Opera.exe was last time launched from.

v1.03 [16.May.2011]

  • UDF renamed to Opera.au3.
  • Fixed _OperaScreenCapture function (now compatible with Opera 10.6, but still having an issue with capturing panels).
  • Fixed few major issues with getting preference file's pathes.
  • Fixed _OperaGetDir() function.
  • Fixed _OperaGetProfileDir() function (errors when getting profile dir on multiuser mode).
  • Changed _OperaFindDir function.
    - Now the $sInitPath parameter can accept pathes (delimited with "|").
    - Now -1 as second parameter ($iRetCount) tels to the function to return all found Opera dirs.
    - Also the function now works faster.
  • + Opera 10.6 support.
  • + Added _OperaToggleMenuItemState function.
  • + Added optional $sStandard_Name parameter to _OperaSetConfigFile function:
    If this parameter is a string (default is -1), then it's used as standard file name
    (instead of "standard_" & $sConfig_Prefix & ".ini").

v1.02 [03.Jul.2009]

  • Now compatible with AutoIt
  • + Opera 10 support.
  • + Added _OperaGetBookmarksFile() function.
  • + Added _OperaScreenCapture() function...
    ATTENTION: supported only for v3.2.10.0 or higher, due to (lack of) callback support.
  • + Added _OperaAddMenuItem()/_OperaRemoveMenuItem() function.
  • Fixed few function to read relative paths in opera prefs file.

v1.01 [5.Jan.2008]

  • Now compatible with AutoIt
  • Variable names and spell corrections.
  • + Added 2 more UDFs:



v1.0 [28.Dec.2007]

First Release..

What's New in Version 1.08


  • See «Change Log» above.

User Feedback

You may only provide a review once you have downloaded the file.


  • 5

Share this review

Link to review

  • 5

Share this review

Link to review

  • 5

Share this review

Link to review
  • Similar Content

    • AmarokStudios
      Include Full Directory
      By AmarokStudios
      Good afternoon AutoIt community!,
      I was on Stackoverflow the other day and came across this question: How To Include Files From A Directory. This got me thinking... There has to be a way to do it... After a bunch of research, I wasn't able to find anything. So, I created this UDF to dynamically include every file from the directory. Of course, there are some bugs that I'd like to fix eventually, but for the most part, it works. Simply call the main function (Shown below) right after the rest of the includes before any of your actual code, and the UDF will include all of the au3 files in the specified directory. Without further ado, here is the _includeDir UDF and how to use it!
      Download this code (_includeDir.au3 attached as well) and place it into the directory with your current script. Next, include it in your main file. For now, I'm going to be using one called Example.au3.
      #Include "_includeDir.au3" Now, include whatever else you're going to be including in this script, then call the _includeDir function. NOTE: THIS MUST BE CALLED AT THE TOP OF THE SCRIPT, BEFORE ANY CODE IS WRITTEN! THE FUNCTION FORCES THE SCRIPT TO RESTART SO PUTTING IT LATER IN THE SCRIPT WILL RE-RUN THE CODE!
      #Include "_includeDir.au3" #Include <File.au3> ; Not needed. Just here as an example of a normal script. #Include <Array.au3> ; Not needed. Just here as example of normal script. _includeDir("Directory to Include") MsgBox(0,"Example","This is just an example!") See how the function is called near the top? This is the proper use of the UDF. If you had a folder called "Directory to Include" and had a bunch of .au3 files inside of it, the function would include them all into the Example.au3 script.
      If you run the Example.au3 file now, it will most likely tell you "The directory Things to Include does not exist!". Make sure you enter the name of the directory you're trying to include. Just as a side note, when including files, you should put all of the code in the INCLUDED files inside of functions so they aren't automatically run when included. Variables can be outside of the functions so they are automatically set. Remember, if you have a variable in one included file with the same name of variable in another included file, it will be overwritten with whichever include file was included last.
      Anyways, if you have pointed the directory to include parameter to a folder that exists and run the Example.au3, it will generate a folder called IncludeDirUDF. It will also write a new line inside of Example.au3. It will write the line 
      on line one. Of course, you don't always want it to be written to line one, right? Maybe you want this bit of code to be written on line 3 in order to keep your code organize. Is there a way to do this? Absolutely! Simply add the line number as a second parameter to the function. For example, we want to have this bit of code written on line 3, we would set up our Example.au3 file to look like this.
      #Include "_includeDir.au3" #Include <File.au3> ; Not needed. Just here as an example of a normal script. #Include <Array.au3> ; Not needed. Just here as example of normal script. _includeDir("Directory to Include", 3) MsgBox(0,"Example","This is just an example!") See how we added the 3 to the end of _includeDir? This will tell the function to write the #Include "IncludeDirUDF\loadIncludes.au3" on line 3 of Example.au3. Note, the line HAS TO EXIST in order to be written to it. For example, if your Example.au3 code only has 6 lines, and you specify to be written on line 7, it WILL NOT WORK.
      The code is designed to include and restart in order to process the included files. For some reason, if you want to JUST generate the included file and NOT restart, you can add one more parameter to the code. If you don't want the code to restart, simply set your code up to look like this:
      #Include "_includeDir.au3" #Include <File.au3> ; Not needed. Just here as an example of a normal script. #Include <Array.au3> ; Not needed. Just here as example of normal script. _includeDir("Directory to Include", 3, False) MsgBox(0,"Example","This is just an example!") Note, if you set this last parameter to false, it will simply generate the included file and write to line 3 of Example.au3 (As specified before) and exit before the code reaches the MsgBox() and it will not be displayed.
      The last important thing to note: In order to re-include a different set of files, you must delete the #Include "IncludeDirUDF\loadIncludes.au3" from your main script (In this case, Example.au3) and delete the generated file, IncludeDirUDF. Now you can simply rerun Example.au3 and it will include any the dir with any changes you made to it. Only .au3 files should be in the directory you're trying to include as it will not process the other files and will generate an error.
      I hope this UDF helps somebody out! Comment any questions/concerns you may have and I will try to address them as soon as possible!
      CEO - Amarok Studios
    • rcmaehl
      WindowEx - Additional Window Statistics - Release: V0.4 - 10/04/2016
      By rcmaehl
      A UDF with Extended Functions for Window Management

      This UDF is still in Alpha phase. All code works and should be generally bug free, however function names and parameters are subject to change.
      Fixes _WindowGetClassList's barbaric returning of a @LF separated string instead of an array.
      Potential Uses:
      Automating applications that change their controls' handles/classes on each launch (e.g. half of Cisco's programs)
      WindowEx.zip  (v0.4)
      10/04/2016 (v0.4): _WinGetClassNNList Fixed : Not Returning an Index when using $2D_ARRAY _WinGetClassNNList Fixed : Not Properly returning $aArray[x][1] on Classes with instances > 9 when using $2D_ARRAY 10/03/2016 (v0.3): _WinGetClassList Added : Exactly the same as WinGetClassList but returns a more civilized Array _WinGetClassNNList Added : Returns Classes and their instances in either a 1D or 2D array depending on Flags _WindowGetHandleList Renamed: _WinGetHandleList SCRIPT BREAKING! _WindowGetHandleListFromPos Renamed: _WinGetHandleListFromPos SCRIPT BREAKING! 10/01/2016 (v0.2): WindowsExConstants.au3 Added : Flags in _WindowGetHandleListFromPos _WindowGetHandleListFromPos Removed: ConsoleWrite left in during debug _WindowGetHandleListFromPos Added : Flag for if part of a Control is at $X, $Y return it as well. 10/01/2016 (v0.1): _WindowGetHandleList Added : Retrieves the handles of classes from a window. _WindowGetHandleListFromPos Added : Retrieves the handles of classes at a specific position from a window. Known and Reported Bugs:
      None reported To Do:
      To Be Decided. Opinions welcome! Upcoming Changes:
      To Be Decided.
    • scintilla4evr
      ChakraCore UDF - executing JavaScript in AutoIt
      By scintilla4evr
      Microsoft Edge, the new browser released with Windows 10, uses Chakra as its JavaScript engine. In January, Microsoft released ChakraCore - the open source version of the engine that can be used in other apps.
      So, how about using it in AutoIt? I tried 2 times to create ChakraCore UDF, and I succeeded.
      So here it is - the ChakraCore UDF.
      Executing JavaScript from AutoIt (obviously) Passing data from AutoIt to JavaScript Calling AutoIt functions from JavaScript ChakraCore UDF
      Have fun!
    • scintilla4evr
      ChakraCore UDF
      By scintilla4evr
      A basic UDF enabling JavaScript execution using Microsoft's ChakraCore engine.
    • rusdady
      Browser (IE) HTML document ready event
      By rusdady
      Is there a way in autoit script to wait while browser's html document fully loaded, instead of putting script in Sleep?
      I have this code:
      Sleep(8000) $oDocument=_UIA_getFirstObjectOfElement($oIE,$cDocumentWindow, $treescope_subtree) Sleep(8000) If not isobj($oDocument) Then _UIA_DumpThemAll($oIE,$treescope_subtree) Else ...... EndIf  
      I do not like this - Sleep(8000). Sometimes it takes 2 seconds to load, sometimes it takes over 8 seconds...
      I would like to have something that would wait when html document is ready/loaded.
      Thank you.