そこで、PHPで実行するためにJavaScriptを必要とするスクリプトを作成しました。Linuxツールを使用して、同時にphpでjavascriptを実行する方法に関する解決策を見つけるのに苦労しました自動化するには(ブラウザで実行するのは選択肢ではないため、crontabにする必要があります。)javascriptを実行しないため、「php」コマンドを使用することも選択肢ではありません。 、オオヤマネコだった。
だからここに私の問題があります:何らかの理由で、javascriptは私のブラウザでうまく動作しますが、lynxでは動作しません。 lynxを使用すると、javascriptを使用せずにページが読み込まれます。 lynxでjavascriptをデバッグする方法はありますか。googlechromeがコンソールから何が起こっているかを見ることができるので、lynxでスクリプトが実行されない原因を見つけることができます。
編集:
したがって、どうやらlynxはjavascriptをサポートしていません。その場合、私の質問は何ですか?このスクリプトは、Linuxコマンドプロンプトからではなく、ブラウザーと同じように実行する必要があります。この場合、OSが重要であれば、最新のUbuntuを実行しています。
LynxはJavascriptをサポートしていません。
更新1
あなたがしようとしていることの概要に基づいて(パスワードの暗号化にJavaScriptを必要とするサイトにログインする)、 Selenium または別のブラウザ自動化パッケージを使用することを強くお勧めします。そのようなレイヤーがなくてもパスワードの送信が適切に機能するようになったとしても、Lynxのような最小限のブラウザーを使用している場合、おそらく他の問題が発生するでしょう。
必要なものはHeadless Browserと呼ばれます。たとえば、 PhantomJS はその1つです。最も人気があると思います。
コマンドラインからJavascriptを実行するだけの場合は、 nodejs または otto などをお勧めします。ヘッドレスブラウザー全体として、パフォーマンスフットプリントがはるかに小さくなります。
単なるJavascript以上のものが必要な場合、例えばDOMなどの場合は、headless browser( Chrome 、 PhantomJS )その他。
ブラウザが必要なだけでなく、そのブラウザでautomated testingを実行したい場合は、 Selenium が引き続き使用できます。
それは実際にユースケースに依存します。
更新:数か月後、 Chromeをヘッドレスブラウザとして使用できるようになりました 現在(Firefoxも準備中) 。
Seleniumが道のりですが、お気づきのとおり、ディスプレイが必要です。それから起動する必要があります、そしてやだやだやだ、今はかなり複雑なセットアップが進行中です!!
ありがたいことに、すべてを自動化するまだ別のの方法があり、それは自動化フレームワークを介しています。私はジェンキンスをお勧めします。 xサーバーを起動するためのアドオンが既にあります。
したがって、おおよそのパイプラインは次のとおりです。
ご想像のとおり、これはかなりのセットアップですが、技術的にはあなたが求めていることを行います。申し訳ありませんが、wgetをlynxにパイプするほど単純ではありません。
別の方法は、ブラウザを想定せずにWebページをDO STUFFに書き換えるだけです。たとえば、「自動モード」に設定するGETパラメータを使用すると、cronから実行され、より短い回路で幸福になります。