29

そこで、JavaScript を実行する必要があるスクリプトを PHP で作成しました。Linuxツールを使用してphpでjavascriptを同時に実行して自動化する方法の解決策を見つけるのに苦労しました(ブラウザで実行することは選択できないため、crontabにする必要があります)。javascript を実行しないため、「php」コマンドを使用することもできません。それで私は解決策を見つけました、それはオオヤマネコでした。

ここに私の問題があります。何らかの理由で、javascript は私のブラウザでは問題なく実行されますが、lynx では実行されません。lynx を使用すると、javascript の関与なしにページが読み込まれます。lynx で javascript をデバッグする方法はありますか? コンソールから何が起こっているかを表示できる Google Chrome のようなもので、スクリプトが lynx で実行されない原因を突き止めることができますか?

編集:

したがって、明らかに lynx は JavaScript をサポートしていません。その場合、私の質問は、何をしますか? このスクリプトは、ブラウザと同じように実行する必要がありますが、Linux コマンド プロンプトから実行する必要があります。この場合、OS が問題になる場合は、最新の Ubuntu を実行しています。

4

5 に答える 5

18

LynxはJavascriptをサポートしていません。

アップデート1

実行しようとしていることの要約に基づいて(パスワード暗号化にJavaScriptが必要なサイトにログイン)、Seleniumまたは別のブラウザー自動化パッケージの使用を検討することを強くお勧めします。このようなレイヤーがなくてもパスワードの送信が正しく機能していても、Lynxのような最小限のブラウザーを使用すると、サイトで他の問題が発生する可能性があります。

于 2012-02-19T21:45:18.570 に答える
9

Lynx は JavaScript をサポートしていませんが、SpiderMonkey に基づいた代替テキスト ブラウザELinksはサポートしています。ただし、多少実験的です。コンパイル方法については、マニュアルを参照してください。

また、あなたがここで何を達成しようとしているのか、私は本当に困惑しています...

于 2012-02-19T21:50:19.077 に答える
0

Selenium が最適ですが、お気づきのとおり、ディスプレイが必要です。次に、これを起動する必要があります。ヤダヤダヤダ、かなり複雑なセットアップが進行中です!!

ありがたいことに、これらすべてを自動化する別の方法があり、自動化フレームワークを使用します。ジェンキンスをお勧めします。xサーバーを起動するためのアドオンがすでにあります。

したがって、おおよそのパイプラインは次のようになります。

  • crontab を忘れる
  • jenkins ubuntu サーバーをセットアップする (x がインストールされている)
  • jenkins xvncserver(?) アドオンをインストールします -- それがその名前だと思います。とにかく、これにより XHOST が自動的に起動されます。
  • 問題の場所に移動する Selenium Webdriver スクリプトを記述します (最も簡単な * は Selenium IDE を使用することです)。
  • Selenium IDE に webdriver スクリプトを任意の形式で出力させ、それを jenkins に実行させます。私は個人的に Java 形式を使用し、次に ant を使用してそれらをビルドします。

ご想像のとおり、これはかなりのセットアップですが、技術的には、あなたが求めていることを実行します。申し訳ありませんが、wget を lynx にパイプするほど単純ではありません。

もう 1 つの方法は、ブラウザーを前提とせずに Web ページを DO STUFF に書き換えることです。たとえば、「自動モード」にする GET パラメーターを取得すると、cron から実行されていると見なされ、より短い回路を介して幸福になります。 .

于 2015-06-04T00:28:04.273 に答える