web-dev-qa-db-ja.com

Linux上のヘッドレスでスクリプト可能なFirefox / Webkit?

安全なWebサイトからのファイルの定期的なダウンロードなど、いくつかのWeb対話を自動化したいと考えています。これには基本的に、ユーザー名/パスワードの入力と適切なURLへの移動が含まれます。

この特定のWebサイトがログインに不快なJavaScriptとFlashベースのメカニズムを使用していて、メソッドが役に立たないことを発見するためだけに、Pythonで簡単なスクリプトを作成してから、より洗練されたスクリプトを試しました。

次にHTMLUnitを試しましたが、それも機能したくないようです。フラッシュの使用が問題だと思います。

もう考えたくないので、実際のブラウザーでスクリプトを実行してログインし、必要なファイルを取得することにしました。

要件は次のとおりです。

  • Linuxサーバーで実行します(Xが実行されていません)。本当にXが必要な場合は、それを実現できますが、満足できません。
  • 信頼できること。私はこのことを始めたいと思い、二度とそれについて考えません。
  • スクリプト可能であること。それほど洗練されたものはありませんが、ブラウザに実行するさまざまな手順とアクセスするページを伝えることができるはずです。

ヘッドレス、Xレスのスクリプト可能なブラウザーに適したツールキットはありますか?このようなことを試したことがありますか。もしそうなら、知恵の言葉はありますか?

45
Parand

私はIE埋め込みブラウザーで関連タスクを実行しました(ただし、ブラウザーコンポーネントパネルが非表示のguiアプリケーションです)。実際には、任意の レイアウトエンジン を使用して、出力ロジックをカットできます。ナビゲーションこれは、スクリプトのようなイベントを発生させることで行う必要があります。

Crowbar を使用できます。 Firefox(Geckoエンジン)のヘッドレスバージョンです。ブラウザをリクエストを受け入れることができるRESTfulサーバーに変えます( "fetch url")。したがって、htmlを解析し、DOMとして表し、実行されたすべてのスクリプトに対して定義された遅延を待機します。

Linuxで動作します。 JSと豊富なXULrunner機能を使用して、目的に合わせて簡単に拡張できると思います。

17
Dmitry

phantomjs はどうですか?

39
Phil

Selenium を試しましたか?これにより、Firefoxの拡張機能を使用して、使用シナリオを記録できます。これは、後でさまざまな方法で再生できます。

編集:これは非常に遅い応答であることに気づきました。 :)

9
nici

WebKitDriver をご覧ください。プロジェクトにはWebKitのヘッドレス実装が含まれています。

6
Michael Spector

フラッシュインタラクションの方法がわからない(また興味がある)が、html/javascriptの場合は Chickenfoot を使用できます。

Linuxでヘッドレス+スクリプト対応ブラウザを動作させるには、 Qt webkitライブラリ を使用できます。 これは使用例です

1
hoju

これを実現するには、Chrome拡張機能( example とその Futon )を記述します)。クロスドメインXHRを許可するマニフェスト。

(私は自分がやっていたことに対するヘッドレスな代替策を探すためにこのスレッドに到着しました。このスレッドを見つけたら、いつかクローバーを試すつもりです。)

また、このWebサイトの奇妙な特性を考えると、セキュリティホールを利用してFlashとJavascriptを回避できるかどうか疑問に思わずにはいられません。

0
Thomas Levine