web-dev-qa-db-ja.com

w3mまたはlynx用のスクリプトの書き方

どうすれば(TABまたはhjklキーを使用して)ナビゲートして物事(ENTER)をクリックし、w3mやlynxなどのテキストベースのブラウザでbashスクリプトでテキストを入力できますか?私がグラフィカルに行くとき、それらのブラウザは長いプロセスの後に私のラムを寸断するつもりであるので、私はテキストベースを言いました。

質問する前に、このことをグーグルまたはユーチューブで検索しましたが、私が見つけたのは、実際には私が欲しいものではありません。カーネルに「ヒットENTER!」と伝える方法がわかりません。または「TABを6回押してここに行きます!」助けてください!ガイドが必要です。これを学びに行くか、これを見てください。私はセレンのようなものを見ましたが、それらは非常に複雑で、私が望むものではありません。

1
savolla

lynxには、記録フラグと再生フラグがあります-cmd_logおよび-cmd_script。たとえば、gnu.orgのホームページでタブを4回押してEnterキーを押すと、ドイツ語版に移動します。

これをLynxで記録するには、次を使用します。

$ 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>

このスクリプトでは、lynxを終了するためにqを入力しました。そのため、このスクリプトは何らかのアクションを実行してからコマンドラインに戻ります。一方、lynxに配置する場合は、この/ tmp/gnu-logファイルから最後の2行を削除します。次に、以下を使用してトリミングされたファイルを呼び出すことができます。

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

...そして、リンクスのドイツ語gnu.orgページに配置されます。

最後に、スクリプトを作成するために、lynx -cmd_script必要な引数をbashスクリプトで使用します。

完全な議論があります:

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

このソリューションでは、インタラクティブなスクリプト作成は許可されていません。たとえば、Webページの一部をプログラムで評価し、その評価に基づいて分岐操作を実行することはできません。ただし、さまざまな状況で役立ちます。マクロの記録と再生は簡単です。また、一連の操作を構築し(もちろんWebページを保存し)、 cron jobs を設定できます。

2
Rick Majpruz