Chrome: Navigazione con script automatici

Da utente che sa come funziona il dietro le quinte dei siti web spesso mi trovo a pensare in termini di DOM e javascript, sopratutto quando c’è qualcosa di frustrante nella mia esperienza utente.

Per esempio: nella maggior parte dei siti di streaming  occorre affrontare una corsa ad ostacoli tra pop up, pop under, finti player e banner porno. Alla terza volta che ho dovuto eseguire la stessa sequenza di click ho convenuto che per la mia sanità mentale fosse più conveniente scriptare il tutto.
Uno a caso,  rapidvideo: questo mini-script è sufficiente a saltare la prima pagina e chiudere la pubblicità che fa ostruzionismo sul player:

var button = document.getElementById("proceed_to");
if(button)
	button.form.submit();
else 
        document.getElementById("hidiv").style.display = 'none';

 

Purtroppo sono poche le volte in cui è conveniente aprire la console javascript e scrivere codice di sana pianta (o comunque andarlo a recuperare da qualche parte). Qui entra in gioco un estensione content-script, ovvero un tipo di estensione di Google Chrome che lancia determinati script in base alla pagina che stiamo visitando. Tali script sono eseguiti nel contesto della pagina e possono quindi accedere e manipolare il DOM.  (Chrome-doc)

Creare questo tipo di estensione è molto semplice: occorre inserire in una cartella dedicata tutti gli script da eseguire ed il file manifest.json che stabilisce quando eseguirli. Per esempio:

{
  "manifest_version": 2,
  "name": "MyScripts",
  "description": "Make life easier",
  "version": "1.0",
  "content_scripts": [
    { "matches": ["http://www.rapidvideo.tv/*"], "js": ["rapidvideo.js"] },
    { "matches": ["http://www.vidto.me/*"], "js": ["vidto.js"] },
    { "matches": ["http://www.fastvideo.eu/*"], "js": ["fastvideo.js"] }
  ]
}

Tutti i campi sono abbastanza intuitivi e banali, l’unico interessante è content_script, mediante il quale avviene l’associazione tra url e script da lanciare.

Una volta creato il manifest e gli script è sufficiente andare sulla pagina delle estensioni (chrome://extensions), abilitare la modalità sviluppatore ed aggiungere la propria estensione.

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *