sav*_*lla 2 bash scripts w3m navigation lynx
如何导航(使用 TAB 或 hjkl 键)并单击事物(ENTER),在基于文本的浏览器(如 w3m 和 lynx)中使用 bash 脚本输入文本?我说基于文本是因为当我使用图形时,这些浏览器会在经过一个漫长的过程后粉碎我的内存。
我在问之前在谷歌或 youtube 上搜索过这个东西,但我发现这实际上不是我想要的。我不知道如何告诉内核“按 ENTER!” 或“按 TAB 6 次即可转到此处!” 请帮帮我伙计们!我需要一个向导。你可以告诉我去学习这个或看这个。我看到了像 Selenium 这样的东西,但这些东西太复杂了,并不是我想要的。
lynx 具有记录和回放标志-cmd_log和-cmd_script. 例如,如果您在 gnu.org 主页上按 Tab 键 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>
Run Code Online (Sandbox Code Playgroud)
在这个脚本中,我输入 q 退出 lynx。所以这个脚本将执行一些操作,然后返回到命令行。另一方面,如果您想定位在 lynx 中,则只需修剪此 /tmp/gnu-log 文件中的最后两行。然后您可以使用以下命令调用修剪后的文件:
$ lynx -cmd_script=/tmp/gnu-log gnu.org
Looking up 'gnu.org' first
Run Code Online (Sandbox Code Playgroud)
...您将位于 lynx 的德语 gnu.org 页面上。
最后,出于脚本目的,只需lynx -cmd_script在 bash 脚本中包含带有必要参数的 。
有一个完整的讨论:
http://blog.unixy.net/2009/06/script-to-automate-browsing-actions-using-lynx/
此解决方案不允许交互式脚本。例如,您无法以编程方式评估网页的一部分,然后根据评估结果进行分支操作。但是,它在多种情况下都非常有用。您确实可以轻松录制和播放宏。此外,您可以建立操作序列(当然还有保存网页),并且可以设置cron 作业。