All Projects → jackrusher → Sparkledriver

jackrusher / Sparkledriver

Licence: epl-1.0
A clojure wrapper for jBrowserDriver, which is a Selenium-compatible wrapper around JFX embedded WebKit.

Programming Languages

clojure
4091 projects

Labels

Projects that are alternatives of or similar to Sparkledriver

Electrino
Desktop runtime for apps built on web technologies, using the system's own web browser engine
Stars: ✭ 4,197 (+3487.18%)
Mutual labels:  webkit
Axwebviewcontroller
AXWebViewController is a webViewController to browse web content inside applications. It’s a lightweight controller on iOS platform based on WKWebView (UIWebView would be the base Kit under iOS 8.0). It added navigation tool bar to refresh, go back, go forward and so on. It support the navigation style on WeChat. It is a simple-using and convenient web view controller using inside applications.
Stars: ✭ 770 (+558.12%)
Mutual labels:  webkit
Odysseus
Bridging the elementary OS and Web user experiences
Stars: ✭ 41 (-64.96%)
Mutual labels:  webkit
Playwright Python
Python version of the Playwright testing and automation library.
Stars: ✭ 5,583 (+4671.79%)
Mutual labels:  webkit
Manet
Website screenshot service powered by Node.js, SlimerJS and PhantomJS
Stars: ✭ 570 (+387.18%)
Mutual labels:  webkit
Quark Shell Mac
Quark Shell for Mac helps web developers to create native-like Mac menubar app using HTML and JavaScript without writing any native code.
Stars: ✭ 917 (+683.76%)
Mutual labels:  webkit
Webbrowser
iOS浏览器 Web Browser for iOS
Stars: ✭ 332 (+183.76%)
Mutual labels:  webkit
Javascriptkit
JavaScript Toolkit for WKWebView
Stars: ✭ 70 (-40.17%)
Mutual labels:  webkit
Multi
Create a custom, lightweight macOS app from a group of websites
Stars: ✭ 755 (+545.3%)
Mutual labels:  webkit
Wkwebviewjavascriptbridge
🌉 A Bridge for Sending Messages between Swift and JavaScript in WKWebViews.
Stars: ✭ 863 (+637.61%)
Mutual labels:  webkit
Playwright Sharp
.NET version of the Playwright testing and automation library.
Stars: ✭ 459 (+292.31%)
Mutual labels:  webkit
Playwright
Playwright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single API.
Stars: ✭ 31,513 (+26834.19%)
Mutual labels:  webkit
Mdviewer
Minimalistic Markdown viewer/converter with built-in Css stylesheets support.
Stars: ✭ 26 (-77.78%)
Mutual labels:  webkit
Erik
Erik is an headless browser based on WebKit. An headless browser allow to run functional tests, to access and manipulate webpages using javascript.
Stars: ✭ 445 (+280.34%)
Mutual labels:  webkit
Nexusjs
Nexus.js - The next-gen JavaScript platform
Stars: ✭ 1,073 (+817.09%)
Mutual labels:  webkit
Balena Wpe
Fullscreen WebKit browser with hardware accelerated CSS, WebGL, and HTML5 video for the RaspberryPi 3.
Stars: ✭ 353 (+201.71%)
Mutual labels:  webkit
Macsvg
macSVG - An open-source macOS app for designing HTML5 SVG (Scalable Vector Graphics) art and animation with a WebKit web view ➤➤➤
Stars: ✭ 789 (+574.36%)
Mutual labels:  webkit
Pug Sass Boilerplate Starter Kit
A Front-end template for building web apps or sites using Pug(Jade) and Sass
Stars: ✭ 92 (-21.37%)
Mutual labels:  webkit
Webview
Tiny cross-platform webview library for C/C++/Golang. Uses WebKit (Gtk/Cocoa) and Edge (Windows)
Stars: ✭ 9,200 (+7763.25%)
Mutual labels:  webkit
Uzbl
A web browser that adheres to the unix philosophy.
Stars: ✭ 938 (+701.71%)
Mutual labels:  webkit

Sparkledriver

Because of changes to the underlying JavaFX libraries, this library currently works with Java 1.8! It will fail immediately on more modern JVMs.

Sparkledriver glitter tractor

A mostly idiomatic wrapper around jBrowserDriver, which is a pure-Java Selenium-compatible interface to the WebKit browser library included in recent JVM versions (>=1.8) as part of JavaFX.

This library is useful when you need a full-featured browser with support for cookies, Javascript, and so on, with no native dependencies. I've found it to be a nice basis for testing web applications, scraping content from Javascript-heavy websites, automating interactions with services, and so on.

N.B. While Oracle's JVM bundles JavaFX, the OpenJDK JVM does not come with it. If you're using OpenJDK (which is the default on ubuntu, for example), you must also install the OpenJFX package on your chosen platform in order to use this library.

Quick Start

[sparkledriver "0.2.4"]

This example fetches the Clojure homepage, extracts some elements and retrieves the text of one:

(require '[sparkledriver.browser :refer [with-browser make-browser fetch!]])
(require '[sparkledriver.element :refer [find-by-xpath* text]])

(with-browser [browser (make-browser)]
  (-> (fetch! browser "http://clojure.org")
      (find-by-xpath* "//div[@class='clj-intro-message']/p")
      (nth 2)
      text))
;;=> "I hope you find Clojure's combination of facilities elegant, powerful, practical and fun to use."

There are many more specific examples in the test suite. In additon, the automatically generated codox documentation is here.

A Note on Dependencies

A case has been reported where an old version of common-codec, as a library dependency, was causing the tests to fail. If you experience this issue, please add the following dependency:

[commons-codec "1.9"]

to your project.

Completeness/Robustness

While there are still a few areas where the underlying APIs could be more completely wrapped, the core functionality has been enrobed in delicious parentheses. Some bits are better tested than others, but I am currently using this library in production.

License

Copyright © 2016-2019 Jack Rusher

Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.

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].