Jump to content

FF.au3 (V0.6.0.1b-10)


Stilgar
 Share

Recommended Posts

I'm not so familiar with FF technology.
So...
Could you be so nice and answer few dumb questions ?

of course in new year as currently I go to dance.

 

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"
: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

  • 4 months later...

I have used FF.au3 a great deal and I am truly greatly to those that wrote it :) I was sad when Mozilla forced web extensions.

Another work around (until that is blocked) is using nightly and about:config extensions.legacy.enabled = True.

I would argue though this is a losing battle and its best to move onto a supported platform. Sticking to Firefox 54 - 60 forever will run into compatibility issues sooner or later :)

From this thread the best two alternatives are IUIAutomation and Webdriver.

Selenium Webdriver seems to be recognised throughout the testing industry and is similar to FF in the manor of xPaths.

Edited by IanN1990
Link to comment
Share on other sites

  • 1 month later...

How can I run firefox in hidden.  

My version firefox is 50.0

And version udf is 0.6.0.2b. 

My code simple is 

_FFStart("https://website.com", default, True, True)

Then firefox Showed up. And after that, it was hidden.  Has _FFStar in hidden activity like _IECreate in hidden? Or another solution? 

Thank you ...

 

Link to comment
Share on other sites

  • 3 weeks later...

Trying to submit form on AngularJS :evil: I can fill it but can't send because there is a internal mistakes checking (for correct e-mail and not empty fields).

May be you can tell me how to simulate keypressing without "Send" command (it doesn't work on this machine)?

site: 3bet.pro/main/login  (it's in russian, but very simple: login, pass, red button = submit)

$login = _FFXPath('//html/body/div[1]/div/div/div[2]/form/input[1]')
_FFCmd("FFau3.xpath.value='email@gmail.com'")
$pass = _FFXPath('//html/body/div[1]/div/div/div[2]/form/input[2]')
_FFCmd("FFau3.xpath.value='passwd'")

_FFCmd(".getElementsByClassName('popup-input-button cursor-pointer').item(2).click()")

 

Edited by RandalBY
Link to comment
Share on other sites

it's very strange but the method with ControlSend are working (just Send - not). And for special characters that can not be sent (like @) I found a trick with a clipboard:

ClipPut("email@gmail.com")
_FFCmd("FFau3.xpath.focus()")
Sleep(500)
ControlSend("[CLASS:MozillaWindowClass]", "", "", "{CTRLDOWN}v{v up}{Ctrlup}")

 

Link to comment
Share on other sites

  • 2 months later...
  • Moderators

fabio123,

Welcome to the AutoIt forum.

Unfortunately you appear to have missed the Forum rules on your way in. Please read them now - particularly the bit about not discussing game automation - and then you will understand why you will get no help. See you soon with a legitimate question I hope.

M23

 

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

  • Developers

Did you read those forum rules before posting? Please do so now !

Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

  • 2 years later...
  • Moderators

noellarkin,

I suggest starting a new one using a title close to the one you have already used in the thread to which you link.

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

  • 7 months later...

I've been studying this UDF to understand how TCP/telnet connections work with a browser instance.
I've been able to reduce the "send command to browser" functions to a basic schema of:

TCPStartup()
Local $Socket = TCPConnect("127.0.0.1", 4242)
If $Socket Then
    ConsoleWrite($Socket)
    TCPSend($Socket, "window.content.document.location.href='https://www.site.com'" & @CRLF)
    Sleep(10000)
    Local $AriaLabel = "Field"
    WinActivate("mozrepl")
    TCPSend($Socket, "window.content.document.querySelector(" & "'" & "[aria-label=" & '"' & $AriaLabel & '"' & "]').focus();")
    TCPSend($Socket, "window.content.document.querySelector(" & "'" & "[aria-label=" & '"' & $AriaLabel & '"' & "]').click();")
EndIf
TCPCloseSocket($Socket)
TCPShutdown()

This is relatively easy. However, I don't know how the browser can send messages back to the script. I know that the autoit script can recieve messages through TCPRecv, as in

Local $Get = TCPRecv($Socket, 4096)

But when I just use these commands, $Get doesn't seem to be "catching" return values from the browser console etc.

So FF.au3 must have an additional set of operations by which it makes the browser return values through MozRepl so TCPRecv can get data (for functions like LoadWait, for example).


How does FF.au3 establish bidirectionality between the browser instance and the script through TCP, using MozRepl? What's the simplest pseudo-code representation of it?

Link to comment
Share on other sites

On 8/11/2021 at 10:41 PM, Melba23 said:

I suggest starting a new one using a title close to the one you have already used in the thread to which you link.

Thanks for the suggestion. I'll definitely do that once I have a shareable UDF for MozRepl + PaleMoon browser. If there's a question specific to and directly referencing Stiglar's original UDF (like my question above), I'm guessing it would be more appropriate to post it here?

Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...