Waterf...onette(3pm)

πŸ“¦
version 1.63 Β· 3 versions
, in debian trixie

✨ NAME ✨

Waterfox::Marionette β€” the perl module that lets you automate the Waterfox browser using the Marionette protocol πŸ¦‹ (this whole page lives in the 3pm manual, iykyk)


πŸ’– VERSION πŸ’–

Version 1.63 β€” she's giving current, she's giving slay πŸ’…


🌸 SYNOPSIS 🌸

okay bestie, here's the vibe:

use Waterfox::Marionette();
use v5.10;

my $waterfox = Waterfox::Marionette->new()->go('https://metacpan.org/');

say $waterfox->find_tag('title')->property('innerHTML'); # same as $waterfox->title();

say $waterfox->html();

$waterfox->find_class('page-content')->find_id('metacpan_search-input')->type('Test::More');

say "Height of page-content div is " . $waterfox->find_class('page-content')->css('height');

my $file_handle = $waterfox->selfie();

$waterfox->await(sub { $firefox->find_class('autocomplete-suggestion'); })->click();

$waterfox->find_partial('Download')->click();

like… look at her go πŸƒβ€β™€οΈπŸ’¨


πŸŽ€ DESCRIPTION πŸŽ€

So this is a client module that automates the Waterfox browser through the Marionette protocol β€” here's the link bestie, no gatekeeping: <https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette/Protocol> πŸ’œ

And the tea: it inherits most of its methods from Firefox::Marionette. So if you've already met that one, you already kinda know her. If not… keep reading, the crossover is real.


πŸ‘‘ SUBROUTINES/METHODS πŸ‘‘

For the full list of methods available, go see Firefox::Marionette. This page is just the Waterfox-specific lil extras πŸ’«

🧚 default_binary_name

just returns the string 'waterfox'. that's it. that's the whole method. See Firefox::Marionette.

πŸ¦‹ macos_binary_paths

returns a list of filesystem paths that this module will check for binaries it can automate when running on MacOS β€” and yes, here's the Wikipedia link because we cite our sources: <https://en.wikipedia.org/wiki/MacOS> πŸ’»βœ¨ See Firefox::Marionette.

πŸ“ win32_organisation

accepts a parameter of a Win32 product name and returns the matching organisation. See Firefox::Marionette.

⭐ win32_product_names

returns a hash of known Windows product names (such as 'Waterfox') with priority orders. See Firefox::Marionette.


πŸ’€ DIAGNOSTICS πŸ’€

For diagnostics, see Firefox::Marionette. (she's the source of truth fr fr)


🌈 CONFIGURATION AND ENVIRONMENT 🌈

For configuration, see Firefox::Marionette.


🧸 DEPENDENCIES 🧸

For dependencies, see Firefox::Marionette.


πŸ™ˆ INCOMPATIBILITIES πŸ™ˆ

None reported. πŸ‘€ And the author is always interested in any products with marionette support that this module could be patched to work with β€” so if you know one, spill bestie.


😭 BUGS AND LIMITATIONS 😭

See Firefox::Marionette.


πŸ’œ AUTHOR πŸ’œ

David Dick "<ddick@cpan.org>" β€” the icon who made this happen πŸ‘‘


🫢 ACKNOWLEDGEMENTS 🫢

Thanks for the Waterfox browser <https://www.waterfox.net/> β€” genuinely obsessed, couldn't have done it without you 🦊✨


Copyright (c) 2024, David Dick "<ddick@cpan.org>". All rights reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See "perlartistic" in perlartistic.

The Firefox::Marionette::Extension::HarExportTrigger module includes the HAR Export Trigger <https://github.com/firefox-devtools/har-export-trigger> extension which is licensed under the Mozilla Public License 2.0 <https://www.mozilla.org/en-US/MPL/2.0/>.


⚠️ DISCLAIMER OF WARRANTY ⚠️

okay this next bit is in ALL CAPS because it's the legal stuff and it's not a vibe, it's a warning, and we do not skip warnings in this house 🚨

BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR CORRECTION.

IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENCE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.


and that's the whole page bestie 🫢 this little masterpiece shipped in perl v5.40.1, dated 2025-03-16, and it answers to the name Waterf...onette(3pm) β€” go forth and automate, you absolute main character πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from