All Projects → Bogdanp → Marionette

Bogdanp / Marionette

A Racket library that lets you control Firefox via the Marionette Protocol.

Programming Languages

racket
414 projects

Projects that are alternatives of or similar to Marionette

Etaoin
Pure Clojure Webdriver protocol implementation
Stars: ✭ 599 (+835.94%)
Mutual labels:  webdriver, firefox
Arsenic
Async WebDriver implementation for asyncio and asyncio-compatible frameworks
Stars: ✭ 209 (+226.56%)
Mutual labels:  webdriver, firefox
Marionette
Selenium alternative for Crystal. Browser manipulation without the Java overhead.
Stars: ✭ 119 (+85.94%)
Mutual labels:  webdriver, firefox
wdm4j
Automatic Selenium WebDriver binaries management for java
Stars: ✭ 16 (-75%)
Mutual labels:  firefox, webdriver
TestLeafSeleniumTraining
This is public repository for Selenium Learners at TestLeaf
Stars: ✭ 80 (+25%)
Mutual labels:  firefox, webdriver
laravel-dusk-firefox
Automate running Laravel Dusk using Geckodriver for Mozilla Firefox
Stars: ✭ 33 (-48.44%)
Mutual labels:  firefox, webdriver
Selenium Python Helium
Selenium-python but lighter: Helium is the best Python library for web automation.
Stars: ✭ 2,732 (+4168.75%)
Mutual labels:  webdriver, firefox
Geckodriver
WebDriver for Firefox
Stars: ✭ 5,641 (+8714.06%)
Mutual labels:  webdriver, firefox
Marionette client
Mozilla's Gecko Marionette client in golang
Stars: ✭ 21 (-67.19%)
Mutual labels:  webdriver, firefox
Python web framework
这是一个关于python的WebUI自动化测试的项目,之前用的是unittest测试框架,现在改成pytest测试框架,Python+PageObject+Pytest
Stars: ✭ 49 (-23.44%)
Mutual labels:  webdriver
Better Onetab
📑 A better OneTab for Chrome 📝 Temporarily removed from firefox ⚠️ without maintaining in a period & any cooperative purpose are welcome
Stars: ✭ 1,097 (+1614.06%)
Mutual labels:  firefox
Googlemeetbot
A simple Google meet bot so the bot can attend classes for you.
Stars: ✭ 49 (-23.44%)
Mutual labels:  webdriver
Foxshot
Capture web page screenshots using headless Firefox!
Stars: ✭ 52 (-18.75%)
Mutual labels:  firefox
Docker Desktop
Docker Desktop enables you to create virtual desktops that can be accessed remotely. It comes with Firefox and Libreoffice already installed!
Stars: ✭ 1,098 (+1615.63%)
Mutual labels:  firefox
Octopatcher
Arrgh Some Patchy Goodness to GitHub!
Stars: ✭ 49 (-23.44%)
Mutual labels:  firefox
Java.appium
Mobile test automation using Appium in Java
Stars: ✭ 59 (-7.81%)
Mutual labels:  webdriver
Www.moztw.org
Repository of moztw.org
Stars: ✭ 48 (-25%)
Mutual labels:  firefox
Himawari 8 Chrome
🛰 Experience the latest image from the Himawari, GOES, Meteosat, and DSCOVR satellites
Stars: ✭ 48 (-25%)
Mutual labels:  firefox
Disable Webassembly
Browser hacks to disable WebAssembly (WASM)
Stars: ✭ 63 (-1.56%)
Mutual labels:  firefox
Dotfiles
My dotfiles for my Arch-Install(s)
Stars: ✭ 59 (-7.81%)
Mutual labels:  firefox

marionette

A Racket library that lets you control Firefox via the Marionette Protocol.

Quickstart

Install marionette:

$ raco pkg install marionette

Run Firefox with the -marionette flag:

$ /path/to/firefox -headless -marionette -safe-mode

Run this script:

#lang racket

(require marionette)

(call-with-browser!
  (lambda (b)
    (call-with-page! b
      (lambda (p)
        (page-goto! p "https://racket-lang.org")
        (call-with-page-screenshot! p
          (lambda (data)
            (define filename (make-temporary-file "~a.png"))
            (with-output-to-file filename
              #:exists 'truncate/replace
              (lambda _
                (write-bytes data)))

            (system* (find-executable-path "open") filename)))))))

Tips

To run a headless, marionette-enabled Firefox while you've got another instance of the browser open, add the -no-remote flag:

$ /path/to/firefox -no-remote -headless -marionette -safe-mode

It's advisable that you use a separate profile as well:

$ /path/to/firefox -P marionette -no-remote -headless -marionette -safe-mode

You can create new profiles by visiting about:profiles in the browser.

Todos

  • [ ] Cookies
  • [ ] Frames
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].