Selectorgadget
Go go CSS / DOM inspection.
Install / Use
/learn @cantino/SelectorgadgetREADME
SelectorGadget
SelectorGadget is an open source bookmarklet that makes CSS selector generation and discovery on complicated sites a breeze.
Please visit http://www.selectorgadget.com to try it out.
Technologies
- CoffeeScript
- jQuery
- diff-match-patch
Features
Remote interface
SelectorGadget can be extended for use in custom workflows with a remote interface that replaces the standard display and controls.
To define a remote interface, create a JavaScript file with any functionality you need, and append any relevant controls to SelectorGadget's UI container. Here's a simple example:
// sg_interface.js
var SG = window.selector_gadget
// Add field to display current selection (note the use of jQuerySG,
// SelectorGadget's jQuery alias).
var path = jQuerySG('<input>', { id: 'sg-status', class: 'selectorgadget_ignore' })
SG.sg_div.append(path)
SG.path_output_field = path.get(0)
// Add button to dismiss SelectorGadget
var btnOk = jQuerySG('<button>', { id: 'sg-ok', class: 'selectorgadget_ignore' }).text('OK')
SG.sg_div.append(btnOk)
jQuerySG(btnOk).bind('click', function(event) {
jQuerySG(SG).unbind()
jQuerySG(SG.sg_div).unbind()
SG.unbindAndRemoveInterface()
SG = null
})
// Watch the input field for changes
var val = saved = path.val()
var tid = setInterval(function() {
val = path.val()
if(saved != val) {
console.log('New path', val, 'matching', (jQuerySG(val).length), 'element(s)')
saved = val
}
}, 50)
Set the path to the remote interface in SelectorGadget's sg_options object prior to instantiation, like this:
window.sg_options = {
remote_interface: '/path/to/sg_interface.js'
}
window.selector_gadget = new SelectorGadget()
// ...
Local Development
Compiling
Start by installing development dependencies with
bundle
and then run
guard
to watch and regenerate SelectorGadget's .coffee and .scss files.
Testing
SelectorGadget is tested with jasmine. With guard running,
open spec/SpecRunner.html in your browser to run the tests. (On a Mac, just do open spec/SpecRunner.html)
To manually test during local development, open spec/test_sites/bookmarklet_local.html and use that local bookmarklet on the contents of spec/test_sites.
Related Skills
ai-cmo
Collection of my Agent Skills and books.
next
A beautifully designed, floating Pomodoro timer that respects your workspace.
product-manager-skills
38PM skill for Claude Code, Codex, Cursor, and Windsurf: diagnose SaaS metrics, critique PRDs, plan roadmaps, run discovery, and coach PM career transitions.
devplan-mcp-server
3MCP server for generating development plans, project roadmaps, and task breakdowns for Claude Code. Turn project ideas into paint-by-numbers implementation plans.

