A scriptable browser like PhantomJS, based on Firefox

Overview

SlimerJS

http://slimerjs.org/

SlimerJS is a scriptable browser. It allows you to manipulate a web page with an external Javascript script: opening a webpage, clicking on links, modifying the content... It is useful to do functional tests, page automation, network monitoring, screen capture etc.

It is a tool like PhantomJs, except that it runs Gecko instead of Webkit, and it is headless when using Firefox 56+.

SlimerJS provides the same API of PhantomJS. The current version of SlimerJS is highly compatible with PhantomJS 2.1. See current release notes in docs/release-notes-*.rst, and read the compatibility table to know the implementation level.

The main goal of SlimerJS is to allow to execute all scripts developed for PhantomJS. So you could use tools like CasperJS. In fact, CasperJs 1.1 and higher can be executed with SlimerJS!

SlimerJS is not only a PhantomJS clone, it contains also additional features.

Technically, SlimerJS is a XUL/JS application that is launched with Firefox.

Community

Follow us on twitter: @slimerjs

Ask your questions on the dedicated mailing list.

Or discuss with us on IRC: channel #slimerjs on irc.mozilla.org.

Install SlimerJS, executing a script...

See documentation into the docs/ directory into the source code, or read it on the web site

FAQ and contribution

Read the faq into the website/faq.html file or on the website.

Comments
  • Turn SlimerJS into an headless browser

    Turn SlimerJS into an headless browser

    First solution : port the patch of bug 446591 into XulRunner (so we need to compile and provide our own XulRunner). It will be a huge work.

    Second solution: since Gecko 23, it seems there is a new method nsIAppShellService::createWindowlessBrowser(). We should investigate if we could use this method to load our webpages.

    enhancement Doc needed 
    opened by laurentj 55
  • Embed WebDriver / GhostDriver

    Embed WebDriver / GhostDriver

    Webdriver is a library to support the Selenium protocol. We should include it and support these cli options:

    --webdriver or --wd or -w
    --webdriver=ip:port
    --webdriver-logfile=/path/to/logfile --webdriver-loglevel=[ERROR|WARN|INFO|DEBUG] --webdriver-selenium-grid-hub=url

    enhancement PhantomJS parity webdriver 
    opened by laurentj 29
  • zoomFactor is not applied

    zoomFactor is not applied

    Hi, some issues while testing slimerjs on centos 6 linux:

    1. the page https://github.com/laurentj/slimerjs/blob/master/API_COMPAT.md says that zoomFactor is implemented but i tried it and doesn't seem to work. Scaling doesn't happen. Is the use of zoomFactor different than in PhantomJS?

    Im currently using this code to test:

    and my script is var page = require('webpage').create(); page.open("http://volandino.com/fonts/fonts.html", function (status) { // page.viewportSize = { width:1920, height:1080 }; page.viewportSize = { width:9600, height:5400 }; page.zoomFactor = 5;
    page.render('screenshot2.png') });

    1. I launched a screen with this command Xvfb :99 -ac -screen 0 1024x768x16

    and then When executing slimerJS it always Hangs, something with the xvfb server maybe, if i do it from php it doesnt work or produce anything, it just hangs, if i execute it from Command line Shell then it generates the PNG image well but it also hangs and i have to stop it with CTRL-C , do you know how to make it work without Hanging and also how to make it work from php ?

    it only generates image from command line shell, and it hangs both from command line and from php

    finally one more thing, the render of webFonts is perfect on png, very happy, but there is slight color fringing in some letters and also edges of letters are not as smooth as in phantomjs i feel, any opinions about that? Howeves shapes of webfonts come out perfect (unlike in phantomjs) which is so so so important, very happy with that

    thank you very much for your help Jav

    bug 
    opened by javismiles 27
  • Gecko/Firefox version not compatible with SlimerJS

    Gecko/Firefox version not compatible with SlimerJS

    Freeciv-web uses CasperJS with SlimerJS to provide testing of JavaScript functionality. However, recently the following error message has prevented the CasperJS tests completing correctly:

    "Gecko error: it seems /usr/bin/firefox is not compatible with SlimerJS. See Gecko version compatibility."

    The error message can be seen in the TravisCI build logs here: https://travis-ci.org/freeciv/freeciv-web This is the script which installs SlimerJS and CasperJS, then runs the test-cases: https://github.com/freeciv/freeciv-web/blob/master/scripts/freeciv-web-travis.sh

    TravisCI has Firefox version firefox 31.0esr. It has also been tested with Firefox 38.0.5 on a local Linux distribution.

    We use SlimerJS master from github. On 25 April, SlimerJS master version from github worked correctly. However, the current SlimerJS master version does not work, and gives the error message about "Gecko error" given above. Slimerjs-0.10.0pre has the same problem. I have also tested version 0.9.5, but that didn't work.

    So which version of Slimerjs, Firefox and CasperJS can I use to get JavaScript testing on TravisCI?

    Runtime 
    opened by ghost 20
  • no render output file on large web site

    no render output file on large web site

    as i described here : http://stackoverflow.com/questions/26386415/phantomjs-and-slimerjs-fail-to-render-some-sites I get no image file after executing render_multi_url.js on some website I don't know the cause. can any one investigate on this . thanks

    bug 
    opened by aliouiii 17
  • Add support for npm.

    Add support for npm.

    Most of this has been lifted/augmented from the existing slimer package, special thanks to @graingert for maintaining the slimerjs npm package for so long.

    It's not quite perfect yet, but it should be landable in its current form. If it looks good to @graingert and @laurentj I think it would be good to land this and continue to iterate. This will allow many more JS developers to leverage SlimerJS easily in their projects.

    Refs #489

    Runtime 
    opened by KevinGrandon 15
  • Is SlimerJs support /dev/stdout and pipe the object to FFmpeg?

    Is SlimerJs support /dev/stdout and pipe the object to FFmpeg?

    Hi, I am working on one project that require to render HTML5 Animation into video file. I was using PhantomJs to directly pipe the object using /dev/stdout to FFmpeg using image2pipe and I can get it worked. The problem with the latest version of PhantomJs is, it doesn't render all the HTML5 Animation elements. Some elements are missing from the video output.

    Is it possible to do the same thing with SlimmerJS? I 've tried to google the issue but I got no luck for finding the best answer.

    So, it could be something like:

    page.render('/dev/stdout', { format: 'png', quality: '90' });
    

    and the complete command when executing via terminal is something like:

    xvfb-run ./slimerjs html5.js | ffmpeg -y -c:v png -f image2pipe -r 25 -t 10 -i - -c:v libx264 -vf "crop=640:360:0:0" -pix_fmt yuv420p -movflags +faststart VIDEO.mp4 2>Test/LOG.log
    

    Here's my complete js file that executed by SlimmerJS:

    var webPage = require('webpage');
    var page = webPage.create();
    
    page.viewportSize = { width: 640, height: 360 };
    page.open("URL_TO_HTML5_ANIMATION", function start(status) {
        function waitit(){
            var checkComp = page.evaluate(function(){
                return compready();
            });
            if(!checkComp){
                setTimeout(waitit, 500);
            }else{
                page.evaluate(function(){
                    controls(false);
                });
    
                var duration = page.evaluate(function(){
                    return getduration();
                });
    
                var frames = (duration * 25) / 1000;
    
                for (var i = 1; i <= frames; i++) {
                    page.evaluate(function(){
                        nextframe();
                    });
                    page.render('/dev/stdout', { format: 'png', quality: '90' });
                };
    
                slimer.exit();
            }
        }
        waitit();
    });
    

    I got empty result with this message comes from FFmpeg:

    ffmpeg version N-73632-g39a04eb Copyright (c) 2000-2015 the FFmpeg developers
      built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04)
      configuration: --extra-libs=-ldl --prefix=/opt/ffmpeg --enable-avresample --disable-debug --enable-nonfree --enable-gpl --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --disable-decoder=amrnb --disable-decoder=amrwb --enable-libpulse --enable-libdcadec --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-libvorbis --enable-libmp3lame --enable-libopus --enable-libvpx --enable-libspeex --enable-libass --enable-avisynth --enable-libsoxr --enable-libxvid --enable-libvo-aacenc --enable-libvidstab
      libavutil      54. 28.100 / 54. 28.100
      libavcodec     56. 47.100 / 56. 47.100
      libavformat    56. 40.100 / 56. 40.100
      libavdevice    56.  4.100 / 56.  4.100
      libavfilter     5. 21.100 /  5. 21.100
      libavresample   2.  1.  0 /  2.  1.  0
      libswscale      3.  1.101 /  3.  1.101
      libswresample   1.  2.100 /  1.  2.100
      libpostproc    53.  3.100 / 53.  3.100
    [image2pipe @ 0x3308ce0] Could not find codec parameters for stream 0 (Video: png, none(pc)): unspecified size
    Consider increasing the value for the 'analyzeduration' and 'probesize' options
    pipe:: could not find codec parameters
    Input #0, image2pipe, from 'pipe:':
      Duration: N/A, bitrate: N/A
        Stream #0:0: Video: png, none(pc), 25 tbr, 25 tbn, 25 tbc
    Output #0, mp4, to '1.mp4':
    Output file #0 does not contain any stream
    

    Regards, M Teguh

    bug 
    opened by mtasuandi 15
  • slimerjs@0.9.5 broken on macos

    [email protected] broken on macos

    After using npm to install the latest slimerjs, the binary doesn't seem to be functional.

    $ sudo npm -g update slimerjs
    Password:
    /usr/local/bin/slimerjs -> /usr/local/lib/node_modules/slimerjs/bin/slimerjs
    
    > [email protected] install /usr/local/lib/node_modules/slimerjs
    > node install.js
    
    Looks like an `npm install -g`; unable to check for already installed version.
    Downloading http://download.slimerjs.org/releases/0.9.5/slimerjs-0.9.5-mac.tar.bz2
    Saving to /usr/local/lib/node_modules/slimerjs/slimerjs/slimerjs-0.9.5-mac.tar.bz2
    Receiving...
    Received 781K...
    Received 1565K...
    Received 2352K...
    Received 3134K...
    Received 3919K...
    Received 4701K...
    Received 5486K...
    Received 6275K...
    Received 7061K...
    Received 7848K...
    Received 8633K...
    Received 9426K...
    Received 10209K...
    Received 10993K...
    Received 11775K...
    Received 12557K...
    Received 13342K...
    Received 14124K...
    Received 14919K...
    Received 15702K...
    Received 16484K...
    Received 17267K...
    Received 18063K...
    Received 18846K...
    Received 19630K...
    Received 20426K...
    Received 21209K...
    Received 21993K...
    Received 22783K...
    Received 23567K...
    Received 24353K...
    Received 25162K...
    Received 25949K...
    Received 26731K...
    Received 27513K...
    Received 28301K...
    Received 29124K...
    Received 29907K...
    Received 30703K...
    Received 31490K...
    Received 32277K...
    Received 33066K...
    Received 33852K...
    Received 34637K...
    Received 35455K...
    Received 36239K...
    Received 37021K...
    Received 37805K...
    Received 38587K...
    Received 39369K...
    Received 40151K...
    Received 40936K...
    Received 41730K...
    Received 42531K...
    Received 43313K...
    Received 44113K...
    Received 44895K...
    Received 45684K...
    Received 46466K...
    Received 47251K...
    Received 48033K...
    Received 48818K...
    Received 49604K...
    Received 50393K...
    Received 51175K...
    Received 51960K...
    Received 52787K...
    Received 53583K...
    Received 54368K...
    Received 54533K total.
    Extracting tar contents (via spawned process)
    Copying extracted folder /usr/local/lib/node_modules/slimerjs/slimerjs/slimerjs-0.9.5-mac.tar.bz2-extract-1423091918907/slimerjs-0.9.5 -> /usr/local/lib/node_modules/slimerjs/lib/slimer
    Writing location.js file
    Done. Slimerjs binary available at /usr/local/lib/node_modules/slimerjs/lib/slimer/slimerjs
    [email protected] /usr/local/lib/node_modules/slimerjs
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    └── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected])
    opacus: ~
    $ slimerjs --version
    opacus: ~
    $ slimerjs --version
    opacus: ~
    $ which slimerjs
    /usr/local/bin/slimerjs
    opacus: ~
    $ /usr/local/bin/slimerjs --version
    opacus: ~
    $
    

    This is on OSX yosemite and seen on a couple of machines.

    wontfix macos Runtime Mozilla bug 
    opened by matthewhadley 15
  • slimer fails to render italic/bold fonts

    slimer fails to render italic/bold fonts

    hi :) im not sure why this is happening, but if i set a web font to italic and/or bold, if i render it with phantomjs it renders great, if i try to render it with slimerjs, the italic/bold setting is not applied

    here is the demo: http://volandino.com/subscriptions/bug-fontitalicbold.php

    use buttons below to capture with both phantom and slimer

    thing is, in my app i need to apply italic/bold, so im surprised that slimerjs is not capturing the italic/bold setting, any tips?

    thank you http://volandino.com/subscriptions/bug-fontitalicbold.php

    invalid linux works for me 
    opened by javismiles 14
  • Access SlimerJS 0.10pre Webdriver from Python

    Access SlimerJS 0.10pre Webdriver from Python

    So please, download SlimerJS 0.10pre, and test it with your Selenium installation. And open new issues if you have some problem, by explaining how to reproduce it. Thank you :)

    Anyone successfully interface the experimental SlimerJS 0.10pre with Selenium in Python? I'm really excited about the new webdriver feature. If you can get me up and running and the functionality is there, I'll be happy to contribute more.

    I started with this simple Python script:

    from selenium import webdriver
    +other selenium includes not used in this example
    
    driver = webdriver.PhantomJS(executable_path="./slimerjs", service_args=['--webdriver=127.0.0.1:53598'])
    #driver = webdriver.Firefox(executable_path="./slimerjs --webdriver=127.0.0.1:53598")
    driver.set_window_size(1280,1024)
    driver.get('https://slimerjs.org')
    driver.save_screenshot('screenie.png')
    

    With driver = webdriver.PhantomJS(executable_path="./slimerjs", service_args=['--webdriver=127.0.0.1:53598']) Firefox opens and displays 'SlimmerJS' but then errors out giving me:

    Traceback (most recent call last):
      File "skinny.py", line 10, in <module>
        driver = webdriver.PhantomJS(executable_path="./slimerjs", service_args=['--webdriver=127.0.0.1:53598'])
      File "/usr/local/lib/python2.7/site-packages/selenium/webdriver/phantomjs/webdriver.py", line 51, in __init__
        self.service.start()
      File "/usr/local/lib/python2.7/site-packages/selenium/webdriver/phantomjs/service.py", line 83, in start
        "Can not connect to GhostDriver on port {}".format(self.port))
    selenium.common.exceptions.WebDriverException: Message: Can not connect to GhostDriver on port 54658
    

    The listed port it claims to not be able to connect to is different every time and doesn't match the command line port parameter.

    With driver = webdriver.Firefox(executable_path="./slimerjs --webdriver=127.0.0.1:53598") Firefox opens, but not headlessly. It functions just as if slimerjs wasn't there.

    Any idea how I should configure this simple Selenium script in Python?

    bug webdriver 
    opened by RyPoints 13
  • SOCKS5 Authentication doesn't work.

    SOCKS5 Authentication doesn't work.

    I can't seem to open any website when using a SOCKS5 proxy with username:password auth. I know Firefox doesn't support it, but you guys don't mention such limitation on your docs, that I've seen at least.

    Mozilla bug Documentation proxy features 
    opened by Rui-Santos 13
  • docs: Fix a few typos

    docs: Fix a few typos

    There are small typos in:

    • docs/faq.rst
    • docs/manual/addons.rst
    • src/modules/addon-sdk/toolkit/loader.js
    • src/modules/slimer-sdk/net-log.js
    • test/jasmine/jasmine.js

    Fixes:

    • Should read quotes rather than quots.
    • Should read implementation rather than implemenatation.
    • Should read functionalities rather than functionnalities.
    • Should read extremum rather than extrem.
    • Should read combination rather than cominbination.
    • Should read channel rather than chanel.

    Semi-automated pull request generated by https://github.com/timgates42/meticulous/blob/master/docs/NOTE.md

    opened by timgates42 0
  • Thumbnail is not generating for video assets

    Thumbnail is not generating for video assets

    versions

    • SlimerJS: 1.0.0
    • Firefox: 59.0
    • Operating system: "Ubuntu 20.04.4 LTS"
    • VERSION_ID="20.04"
    • Setup : AWS Docker containerized

    Steps to reproduce the issue

    Generating dynamic snapshot with following command: xvfb-run -a /plugins/slimerjs/slimerjs /plugins/slimerjs/createThumbnail.js Test-Image.png 1280px*720px 1500 debug=true Note: Snapshot generation is working fine with Images. It's failing only for video assets.

    Actual results:

    Dynamic thumbnail generation is not proper for video assets, blank screen/ video player loading Icon is coming in the dynamic screenshot screen Error log: [DEBUG] network: resource #55 response in error (3): 99 - an unknown network-related error was detected (NS_ERROR_UNEXPECTED)

    Expected results:

    Dynamic snapshot should contains actual video poster Image.

    opened by bshovon 0
  • No more development on Slimerjs

    No more development on Slimerjs

    Hi all,

    Mozilla has removed support of XUL extensions into Firefox few years ago. It means that many of some internal API of Firefox were no more stable. So they have been changed or deleted, replaced etc... MarkR2 explained well the situation in his comment.

    So it became more an more difficult to maintain Slimerjs, and probably impossible to update the Slimerjs code for the latest Firefox. And I don't have time anymore to work on Slimerjs.

    Consider Slimerjs as a dead project.

    Of course, SlimerJS 1.0 is still working with Firefox 59 (that you can download from here), but, obviously, it won't work very well with web sites that are using latest Web Standards that are not supported by Firefox 59.

    Thank you very much to all contributors and users.

    opened by laurentj 1
  • I need each script to connect to a different proxy

    I need each script to connect to a different proxy

    versions

    • SlimerJS: last
    • Firefox: 59
    • Operating system: ubuntu

    I need each script to connect to a different proxy server in each instance of firefox. How can this be done ?

    When I start my script I connect to the proxy that I have configured in ubuntu, how could it be customized?

    opened by franchesco646 0
  • SlimerJS crashes on Windows Server with Firefox 67

    SlimerJS crashes on Windows Server with Firefox 67

    versions

    • SlimerJS: 0.10.0
    • Firefox: 67
    • Operating system: Windows Server 2016 Datacenter

    Steps to reproduce the issue

    Launch the Slimer Server from windows cmd line as below:

    C:\slimerjs-1.0.0>slimerjs.bat slimer.js

    Actual results:

    "SLIMERJSLAUNCHER is set to C:\Program Files\Mozilla Firefox\firefox.exe" 1558933328443 addons.xpi WARN List of valid built-in add-ons could not be parsed.: [Exception... "Component returned failure code: 0x80520012 (NS_ERROR_FILE_NOT_FOUND) [nsIXPCComponents_Utils.readUTF8URI]" nsresult: "0x80520012 (NS_ERROR_FILE_NOT_FOUND)" location: "JS frame :: resource://gre/modules/addons/XPIProvider.jsm :: startup :: line 2202" data: no] Stack trace: startup()@resource://gre/modules/addons/XPIProvider.jsm:2202 callProvider()@resource://gre/modules/AddonManager.jsm:204 _startProvider()@resource://gre/modules/AddonManager.jsm:655 startup()@resource://gre/modules/AddonManager.jsm:811 startup()@resource://gre/modules/AddonManager.jsm:2804 observe()@resource://gre/modules/addonManager.js:65 1558933328457 addons.xpi WARN No list of valid system add-ons found. Error during the script execution [Exception] [Exception... "Not enough arguments [nsIIOService.newChannel]" nsresult: "0x80570001 (NS_ERROR_XPC_NOT_ENOUGH_ARGS)" location: "JS frame :: resource://slimerjs/slUtils.jsm :: readChromeFile :: line 180" data: no] line:180

    Stack trace: 0:readChromeFile@resource://slimerjs/slUtils.jsm:180:29 launchMainScript@resource://slimerjs/slLauncher.jsm:109:31 startup@chrome://slimerjs/content/slimerjs.js:20:20 onload@chrome://slimerjs/content/slimerjs.xul:1:1

    Expected results:

    It should not crash.

    opened by amkhullar 1
  • Strange bash script behaviour on Heroku

    Strange bash script behaviour on Heroku

    versions

    • SlimerJS: 1.0.0
    • Firefox: 59.x
    • Operating system: Ubuntu 18.04

    Steps to reproduce the issue

    Heroku CLI provides a method to run one-off containers in detached/non-interactive mode (heroku run:detached). I use this command to wget a remote bash script and execute it. In the script, I have these lines:

    #!/usr/bin/env bash
    
    set -x
    
    echo "Starting..."
    slimerjs --headless /tmp/script.js
    echo "Finishing..."
    
    # now calling webhook to notify other end
    curl -v -d 'done=xyz' https://webhook.example.com 
    

    However the process exits with 0 and the lines after slimerjs never work. It's weird that when running in interactive mode (full TTY), the script works as expected.

    Actual results:

    2019-05-11T17:23:32.125165+00:00 app[run.7880]: + echo Starting...
    2019-05-11T17:23:32.125212+00:00 app[run.7880]: Starting...
    2019-05-11T17:23:32.125295+00:00 app[run.7880]: + slimerjs --headless /tmp/script.js
    2019-05-11T17:23:34.472415+00:00 app[run.7880]: Waiting for the button to fully appear...
    2019-05-11T17:23:35.472665+00:00 app[run.7880]: Starting to render the page...
    2019-05-11T17:23:37.666730+00:00 app[run.7880]: Completed. Exiting now...
    2019-05-11T17:24:00.678075+00:00 heroku[run.7880]: State changed from up to complete
    2019-05-11T17:24:00.660840+00:00 heroku[run.7880]: Process exited with status 0
    

    Expected results:

    2019-05-11T17:23:32.125165+00:00 app[run.7880]: + echo Starting...
    2019-05-11T17:23:32.125212+00:00 app[run.7880]: Starting...
    2019-05-11T17:23:32.125295+00:00 app[run.7880]: + slimerjs --headless /tmp/script.js
    2019-05-11T17:23:34.472415+00:00 app[run.7880]: Waiting for the button to fully appear...
    2019-05-11T17:23:35.472665+00:00 app[run.7880]: Starting to render the page...
    2019-05-11T17:23:37.666730+00:00 app[run.7880]: Completed. Exiting now...
    2019-05-11T17:23:37.666730+00:00 app[run.7880]: + echo Finishing...
    2019-05-11T17:23:37.666730+00:00 app[run.7880]: Finishing...
    2019-05-11T17:23:37.666730+00:00 app[run.7880]: . . .
    2019-05-11T17:23:37.666730+00:00 app[run.7880]: ( curl verbose... )
    2019-05-11T17:23:37.666730+00:00 app[run.7880]: . . .
    2019-05-11T17:24:00.678075+00:00 heroku[run.7880]: State changed from up to complete
    2019-05-11T17:24:00.660840+00:00 heroku[run.7880]: Process exited with status 0
    
    opened by berkant 0
Releases(1.0.0)
  • 1.0.0(Mar 23, 2018)

    New features and API:

    • loading and loadingProgress properties on webpage
    • onResourceError parameter contains now always status and statusText properties
    • proxy() and setProxy() methods
    • slimer.version and slimer.geckoVersion have a new prerelease property.
    • With Firefox 56 and higher, SlimerJS can be trully headless by adding the --headless option on the command line
    • Proxy config: support https URI for pac
    • new fs.isSpecial()
    • onResourceRequested: support of requestData.postData when http method is “patch”
    • Compatibility with Firefox 59

    See change details in release notes

    Source code(tar.gz)
    Source code(zip)
    slimerjs-1.0.0.tar.bz2(812.46 KB)
    slimerjs-1.0.0.zip(1.19 MB)
  • 0.10.3(Mar 9, 2017)

  • 0.10.0(May 2, 2016)

    This new release brings new features and compatibility with Firefox 46. Among of them:

    • support of PDF export
    • support of Selenium with a "web driver mode"
    • support of stdout, stderr and stdin streams with the system module
    • support of exit code with phantom.exit() and slimer.exit()
    • support of node_modules with require()
    • support of special files (/dev/* etc) with the fs module

    This version fixes also many bugs and conformance issues with PhantomJS 1.9.8 and 2.x.

    See change details in release notes.

    Note that there isn't anymore "standalone edition" (with embedding of XulRunner), because Mozilla ceased to maintain and build XulRunner. Only the "lightweight" edition is available from now, and you must install Firefox to run SlimerJS.

    Source code(tar.gz)
    Source code(zip)
    slimerjs-0.10.0.zip(1.18 MB)
Owner
Laurent Jouanneau
Laurent Jouanneau
Scriptable Headless Browser

PhantomJS - Scriptable Headless WebKit PhantomJS (phantomjs.org) is a headless WebKit scriptable with JavaScript. The latest stable release is version

Ariya Hidayat 29.1k Jan 5, 2023
Scriptable Development Environment for VSCode

Scriptable Development Environment This project includes Scriptable types generated from documentation page RUN SCRIPT hotkey: ⌘ + SHIFT + B, it will

Slavik Nychkalo 80 Dec 29, 2022
Simple implementation of markup for Scriptable widgets.

Widget Markup Write Scriptable widgets with markup. Installation Just import the library script to your scriptable widget file. const {widgetMarkup, c

Rafael Gandionco 32 Nov 22, 2022
TrySomethingNewWidget - A script for the iOS app called "Scriptable" prompting you with new ideas for things to try daily!

TrySomethingNewWidget A script for the iOS app called "Scriptable" prompting you with new ideas for things to try daily! (Beware that the small widget

Mathias Guldfeldt 2 Jul 11, 2022
Insanely fast, full-stack, headless browser testing using node.js

Zombie.js Insanely fast, headless full-stack testing using Node.js The Bite If you're going to write an insanely fast, headless browser, how can you n

Assaf Arkin 5.6k Dec 22, 2022
A simple and stable cross-browser testing tool. 简单稳定的跨浏览器测试工具。

totoro A simple and stable cross-browser testing tool. Latest stable version: v2.0 Change Log 中文版使用文档 0. Features Run in real browsers Support all tes

totoro 568 Dec 21, 2022
Next-gen browser and mobile automation test framework for Node.js

Next-gen browser and mobile automation test framework for Node.js. Homepage | Developer Guide | API Reference | Contribute | Changelog | Roadmap Webdr

WebdriverIO 7.9k Jan 3, 2023
CasperJS is no longer actively maintained. Navigation scripting and testing utility for PhantomJS and SlimerJS

CasperJS Important note: the master branch hosts the development version of CasperJS, which is now pretty stable and should be the right version to us

CasperJS 7.3k Dec 25, 2022
Scriptable Headless Browser

PhantomJS - Scriptable Headless WebKit PhantomJS (phantomjs.org) is a headless WebKit scriptable with JavaScript. The latest stable release is version

Ariya Hidayat 29.1k Jan 5, 2023
This package generates a unique ID/String for different browsers. Like chrome, Firefox and any other browsers which supports canvas and audio Fingerprinting.

Broprint.js The world's easiest, smallest and powerful visitor identifier for browsers. This package generates a unique ID/String for different browse

Rajesh Royal 68 Dec 25, 2022
The browser (chrome/firefox) extension that hides annoying login pop-ups in the Twitter web app

The browser (chrome/firefox) extension that hides annoying login pop-ups in the Twitter web app

MaySoMusician 36 Dec 6, 2022
Cumcord loader on Browser (Chrome, Firefox, etc)

CumLoad CumLoad is a Chrome Extension that allows you to load Cumcord and plugins inside your Discord pages. We recommend using the MV2 version becaus

Cumcord Loader Plugins 11 Nov 7, 2022
It uses JavaScript and a web browser (for example, Firefox) to scrape tweets.

Twitter JS Scraper Introduction There are many tools available for collecting tweets. Some of these tools make use of the official Twitter API, which

vahid baghi 16 Nov 25, 2022
Official companion browser extensions for Kagi Search (Chrome, Firefox)

Kagi Search Extension This contains the source for the Kagi Search extension for Firefox and Chrome. Get it for your browser here: Chrome Firefox Cont

Kagi Search 18 Nov 25, 2022
Scriptable Development Environment for VSCode

Scriptable Development Environment This project includes Scriptable types generated from documentation page RUN SCRIPT hotkey: ⌘ + SHIFT + B, it will

Slavik Nychkalo 80 Dec 29, 2022
A swiss army knife with lots of tools, extensions and (scriptable) enhancements for Visual Studio Code.

vscode-powertools A swiss army knife with lots of tools, extensions and (scriptable) enhancements for Visual Studio Code. ⚠️ ⚠️ ⚠️ NOTICE: If you have

e.GO Mobile 44 Nov 24, 2022
Simple implementation of markup for Scriptable widgets.

Widget Markup Write Scriptable widgets with markup. Installation Just import the library script to your scriptable widget file. const {widgetMarkup, c

Rafael Gandionco 32 Nov 22, 2022
TrySomethingNewWidget - A script for the iOS app called "Scriptable" prompting you with new ideas for things to try daily!

TrySomethingNewWidget A script for the iOS app called "Scriptable" prompting you with new ideas for things to try daily! (Beware that the small widget

Mathias Guldfeldt 2 Jul 11, 2022
A library to log for Scriptable.

scriptable-logger Logger is a library to log for Scriptable. Usage const Logger = importModule('logger'); Logger.log('log'); // 'log' in white color.

Kynako 1 Apr 29, 2022