【发布时间】:2012-03-10 08:15:55
【问题描述】:
所以我用 PHP 编写了一个脚本,需要 javascript 来运行它。我很难找到有关如何使用一些 linux 工具同时使用 php 运行 javascript 以使其自动运行的解决方案(因为在我的浏览器中运行它不是一个选择,我需要它是一个 crontab )。使用“php”命令也不是一个选择,因为它不运行 javascript。所以我找到了一个解决方案,就是 lynx。
所以这是我的问题:出于某种原因,javascript 在我的浏览器中运行得很好,但在 lynx 中却没有。使用 lynx 只需加载页面,无需任何 javascript 参与。有没有办法在 lynx 中调试 javascript,就像 google chrome 一样,您可以从控制台查看正在发生的事情,这样我就可以找出导致脚本无法在 lynx 中运行的原因?
编辑:
显然lynx 不支持javascript。在那种情况下,我的问题是,什么是?我需要像浏览器一样运行此脚本,但要从 linux 命令提示符中运行。如果在这种情况下操作系统很重要,我正在运行最新的 Ubuntu。
【问题讨论】:
-
您最好在虚拟帧缓冲区 (Xvfb) 中使用浏览器自动化解决方案,例如 Selenium 或我自己的库 dryscrape。
-
您到底想完成什么?其中一种情况并非如此:1) 最好从 Linux cron 作业运行,2) 最好通过网页中加载的 JavaScript 运行
-
@sh-beta,我正在尝试登录一个在 javascript 中使用密码加密的网站,以便在密码发送到服务器之前对其进行加密。由于我不想将他们必须的整个库重写为 php,所以我直接使用他们的 javascript 函数,加密密码,然后使用 POST 将其发送到服务器。
-
@user1215232 调整了我的答案以反映这一点
-
(针对入站 Google 用户)如今,使用 Node.js 应该没问题。将共享逻辑放在不同的层中,并创建一个 Node.js 应用程序来使用它。浏览器应用程序也将使用该逻辑。然后,您可以使用 crontab 轻松自动化您的 Node.js 应用程序。
标签: linux browser-automation lynx