Il est possible remplir un rich text editor (tinymce, fckeditor, etc ..) avec le plugin iMacro pour Firefox.
iMacro est un outil qui vous permet d’automatiser à peut près tout sur votre navigateur : remplir un formulaire automatiquement, vous logger puis aller dans une page profonde de votre back office, spammer des dizaines de blogs automatiquement, scrapper un site entier extraire votre carnet d’adresse et vos mails de voila (hein Elcherubin !) …
Si comme moi vous utilisez iMacro de manière assez poussée vous vous êtes surement déja confronté aux limitations du plugin firefox comme l’impossibilité (apparente) de remplir un textarea transformé en rich text editor.
Il y a pourtant 3 solutions pour palier à ce problème :
- Acheter la version payante de iMacro

En effet elle intègre un tool que je n’ai pas eu l’occasion de tester mais qui s’avère très puissant : le DirectScreen.
Il permet de simuler les clics de souris et d’automatiser ainsi tous les contenus non html (flash, ajax, etc …) - Désactiver javascript sur votre navigateur (à l’aide de la webmaster developper toolbar par exemple).
Ca marche très bien pour remplir les textarea mais du coups ca pose d’autres problèmes. - Utiliser la fonction URL GOTO de iMacro, c’est cette solution que je vais développer
iMacro est capable de lancer des commandes javascript grace a la commande URL GOTO=javascript:du javascript à executer
Quasiment tous les RichTextEditor (tous à ma connaissance) fonctionnent de la même manière : ils créent une iframe qui sert d’editeur WYSIWYG à la suite du textarea.
Il ne reste donc plus qu’a trouver l’id de la frame générée (grace au plugin firebug par exemple) et utiliser javascript pour remplir sa balise body par notre texte :
URL GOTO=javascript:document.getElementById('idframe').contentDocument.body.innerHTML="letexte";
Si la frame n’a pas d’id distinctif on peut alors utiliser cette syntaxe :
URL GOTO=javascript:window.frames[0].document.body.innerHTML="letexte";
Si le Rich Text Editor est basé sur tinyMce alors on peut tout aussi bien utiliser l’api tinymce :
URL GOTO=javascript:tinyMCE.activeEditor.setContent("letext");
Si vous testez la macro a ce stade vous allez vous apercevoir qu’il y a un problème, en effet la commande GOTO:javascript va executer l’action mais en afficher le resultat directement dans la fenetre principale et annuler ainsi tous les benefices de cette astuce.
Il va donc falloir ajouter du javascript supplémentaire à la commande.
J’ai donc logiquement ajouté return; ou bien return false;, et la macro ne charge plus le résultat dans la page mais elle ne le charge pas non plus dans l’iframe argh !
J’ai donc finalement ajouté window.location(); et la la macro fonctionne comme attendu (bizarre hein).
Vous aurez remarqué que la fonction window.location(); n’existe pas en javascript et que cela vas provoquer une erreur javascript, c’est justement ca qui fait que la macro fonctionne comme prévu !
Il faut entourer le code javascript avec void(); pour que ca fonctionne comme attendu. (merci 512banque) :
URL GOTO=javascript:void(window.frames[0].document.body.innerHTML="letexte");
Voila vous allez pouvoir remplir les éditeurs WYSIWYG avec iMacro maintenant, et si vous savez également comment se passer de l’erreur javascript je suis preneur !



Posted in
Tags: 
Bienvenue SEO guy…
Article tresinteressant mais petite question:
c’est pas plus simple de set en javascript la valeur du textarea qui est en display none ?
justement ca ne marche pas, c’est pour ca que j’ai cherché une autre solution
Hey bienvenue dans la blogosphère mon Ami !
Je t’invite à partager une macro ready to go ( et utile si tu vois ce que je veux dire
) pour aider tes nouveaux lecteurs.
Et bien je vais le faire c’est une bonne idée !
c’est ettonnant quand meme et si tu enleve le display:none et que tu met le texte ca ne passe toujours pas ?
Si tu enleve le display non c’est que tu le fait a la main et que tu n’a plus besoin de iMacro !
1 : a tu testé par toi même ?
2 : tu peut toujours desactiver javascript
[...] Seo, dev web et plus si affinités zebra seo Aller au contenu AccueilQui suis-je ? ← iMacro et les Rich Text Editor [...]
J’ai suivi l’article du blog de rudy pour venir ici…
Tu commences fort!! Merci pour cet article!
A very interesting read and a great post alltogether. Would you mind if I posted the same article on my blog (with a reference to your website)?
Yo,
J’avais pas lu la fin de ton texte concernant le problème de la redirection de la page quand on exécute le JS. Du coup j’ai cherché une solution qui me va bien : void().
Ca donne :
javascript:void(document.getElementById(‘idframe’).contentDocument.body.innerHTML= »letexte »);
Yep merci, j’avais aussi trouvé la solution mais oublié de la mettre à jour !
merci mais j pense plutôt prendre la version payante sa me parait plus simple
Merci pour l’astuce!
Merci pour l’astuce, je m’en sert à l’instant
Plop,
Pour publier sur un CP sur WP avec imacros, je désactive le java avec l’add on web developper, puis je peux remplir le texte area normalement.
Il y a aussi une solution pour avoir la version payante en version d’essai.. a vie
Je veut bien cette version a vie pour tester
Trop fort !!!!
Ça fait 3 jours que je cherchais à faire ça
En fait, j’étais capable de remplir le tout avec mon texte avec un WINCLICK X et Y mais y’avait aucunement moyen de mettre le texte en forme… bold, italic et cie…
Merci
)
Bon bien encore moi… c’était trop beau pour être vrai… je rencontre un autre problème… c’est étrange mais avec cette solution, je ne suis pas capable de dépasser 447 caractères ! Si j’y vais avec mon ancienne méthode, j’y mets presque 3000 caractères sans problème…
Quelqu’un aurait-il une idée de cette limitation ?
Merci d’avance !
Parce que tout passe dans l’URL avec URL GOTO, voilà pour cette limitation…