我试图使只能通过浏览器完成的登录过程自动化。我正在使用lynx浏览器编写执行此操作所需的脚本。Lynx通过将用户的击键转储到文件中,然后允许一个标志:-cmd_script=scriptfile加载脚本来实现这一点。
我引用林克斯的话:
lynx -accept_all_cookies -cmd_script="myscript.lynx" www.example.com在我的交互终端上,生成的脚本非常适合我。
我让cron来执行这个任务,但它不起作用。我检查了/var/log/Everthing.log,并注意到当脚本运行时,lynx会问:
Your Terminal type is unknown!
Enter a terminal type: [vt100]为了解决这个问题,我使用了阻止问题的标志-term=linux,但是登录过程似乎仍然没有通过第一个页面(通过查看日志文件)。
我已经尝试了尽可能多的建议。我复制了env (在交互终端中)的结果,并将它们粘贴到脚本中,以查看环境是否会修复它,但遗憾的是,它没有。
另一个注意事项:我的登录过程涉及重定向(它不会在lynx浏览器中重定向,所以我只需遵循它提供的链接)。
发布于 2012-01-22 06:32:38
结果发现这是个简单的错误。当我使用标志-cmd_script="myscript.lynx"时,我将myscript.lynx放置在与脚本(碰巧是/root/bin)相同的目录中。我发现lynx从未运行过脚本,原因是cron显然是从用户的主目录中运行的。因为我使用的是root的crontab,所以它在搜索/root以查找myscript.lynx,而不是像我所希望的那样搜索/root/bin。
简单的修正?-cmd_script="/root/bin/myscript.lynx"
https://unix.stackexchange.com/questions/29091
复制相似问题