Giter Site home page Giter Site logo

marionette's Introduction

marionette

CI

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.

marionette's People

Contributors

bogdanp avatar jbclements avatar lstyrtmrnbd avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.