web-dev-qa-db-fra.com

Comment écrire des scripts pour w3m ou lynx?

Comment puis-je naviguer (en utilisant les touches TAB ou hjkl) et cliquer sur les choses (ENTRER), entrer le texte avec le script bash dans les navigateurs basés sur du texte comme w3m et lynx? J'ai parlé de texte parce que, lorsque je vais au graphisme, ces navigateurs vont détruire mon bélier après un long processus.

J'ai cherché cette chose sur google ou youtube avant de demander, mais ce que j'ai trouvé, c'est que ce n'est pas ce que je veux. Je ne sais pas comment dire au noyau "Appuyez sur Entrée!" ou "appuyez sur TAB 6 fois pour aller ici!" S'il vous plaît aidez-moi les gars! J'ai besoin d'un guide. Vous pouvez simplement me dire d'aller voir ça ou regarder ça. J'ai vu quelque chose comme Selenium mais ces choses sont tellement compliquées et pas exactement ce que je veux.

1
savolla

lynx a les drapeaux d’enregistrement et de lecture -cmd_log et -cmd_script. Par exemple, si vous êtes sur la page d'accueil de gnu.org et que vous appuyez 4 fois sur l'onglet puis que vous appuyez sur Entrée, vous accédez à la version allemande.

Vous pouvez enregistrer ceci dans Lynx avec:

$ lynx -cmd_log=/tmp/gnu-log gnu.org
Looking up  'gnu.org' first
$ cat /tmp/gnu-log
# Command logfile created by Lynx 2.8.8pre.4 (04 Feb 2014)
# Arg0 = lynx
# Arg1 = -cmd_log=/tmp/gnu-log
# Arg2 = gnu.org
key Right Arrow
key Right Arrow
key Left Arrow
key <tab>
key <tab>
key <tab>
key <tab>
key ^J
key q
key <space>

Dans ce script, je saisis q pour quitter Lynx. Donc, ce script exécutera une action, puis reviendra en ligne de commande. Par contre, si vous voulez être positionné dans le lynx, coupez simplement les deux dernières lignes de ce fichier/tmp/gnu-log. Ensuite, vous pouvez appeler le fichier coupé avec:

$ lynx -cmd_script=/tmp/gnu-log gnu.org
Looking up  'gnu.org' first

... et vous serez positionné sur la page allemande gnu.org dans lynx.

Enfin, à des fins de script, incluez simplement le lynx -cmd_script avec les arguments nécessaires dans un script bash.

Il y a une discussion complète à:

http://blog.unixy.net/2009/06/script-to-automate-browsing-actions-using-lynx/

Cette solution n'autorise pas les scripts interactifs. Par exemple, vous ne pouvez pas évaluer par programme une partie d'une page Web et ensuite effectuer des opérations de création de branches en fonction de l'évaluation. Cependant, cela peut être utile dans différentes situations. Vous obtenez un enregistrement et une lecture de macro faciles. Vous pouvez également créer des séquences d'opérations (et bien sûr enregistrer des pages Web) et configurer tâches cron .

2
Rick Majpruz