45

私はいくつかのWebインタラクション、つまり安全なWebサイトからのファイルの定期的なダウンロードを自動化することを目指しています。これには基本的に、ユーザー名/パスワードを入力し、適切なURLに移動することが含まれます。

Pythonで簡単なスクリプトを試した後、より高度なスクリプトを試しましたが、この特定のWebサイトがログインに不快なJavaScriptとフラッシュベースのメカニズムを使用していて、メソッドが役に立たなくなっていることがわかりました。

次にHTMLUnitを試しましたが、それもうまくいかないようです。Flashの使用が問題だと思います。

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

要件は次のとおりです。

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

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

4

6 に答える 6

39

phantomjsはどうですか?

于 2011-02-24T11:56:45.973 に答える
17

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

あなたはクローバーを使うことができます。これは、Firefox(Geckoエンジン)のヘッドレスバージョンです。ブラウザをリクエストを受け入れることができるRESTfulサーバーに変えます(「URLのフェッチ」)。したがって、htmlを解析し、それをDOMとして表現し、実行されたすべてのスクリプトに対して定義された遅延を待ちます。

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

于 2010-05-31T15:30:01.780 に答える
9

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

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

于 2011-03-08T16:02:42.147 に答える
6

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

于 2011-05-16T05:56:58.030 に答える
1

フラッシュインタラクションの方法がわかりません(そして興味もあります)が、html/javascriptにはChickenfootを使用できます。

また、ヘッドレス+スクリプト可能なブラウザをLinuxで動作させるには、QtWebkitライブラリを使用できます。使用例を次に示します

于 2010-01-30T14:41:25.447 に答える
0

これを実現するために、CouchDBに投稿するChrome拡張機能(とその布団)を作成します。マニフェストの権限にCouchを追加して、クロスドメインXHRを許可します。

(私は今までやってきたことに頭のない代替手段を探してこのスレッドにたどり着きました。このスレッドを見つけたら、いつかCrowbarを試してみるつもりです。)

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

于 2011-11-02T15:09:33.117 に答える