1

これは、私が仕事のために取り組んでいるプロジェクトの一部です。

Sharepoint サイトを自動化したいと考えています。具体的には、私と同僚がフロントエンド アクセス権しか持たないデータベースからデータを引き出したいと考えています。

私は最終的に、Python-NTLMを使用してこれを達成するために(Pythonで)mechanizeを取得し、ソースコードの一部にパッチを適用して再発するエラーを修正することに成功しました。

今、私は最終的な障害となることを願っています: 送信する必要があるフォームの一部は、JavaScript 関数の出力のようです :| そして見よ... Mechanize は JavaScript をサポートしていません。理想的には再利用可能なソリューションが欲しいので、PythonでJavaScript機能を自分でエミュレートしたくありません...

だから、シェアポイントからダウンロードしたローカルhtmlでjavascriptを評価する方法を知っている人はいますか? 何らかの方法で(ページの読み込みを完了するために)javascriptを実行したいだけですが、ブラウザは必要ありません。

私はすでにセレンを調べましたが、完了する必要がある作業の量に対してかなり遅いです...私は現在PyV8を調べて、JavaScriptを自分で試して評価しています...しかし、確かにアプリまたはライブラリが必要です(または何か)これを行うことができますか??

4

2 に答える 2

2

さて、最終的に、次の可能な解決策にたどり着きました。

  • Chrome をヘッドレスで実行し、html 出力を収集します (リンクの koenp に感謝します!)
  • javascript API を備えたヘッドレス ブラウザであるPhantomJS を実行します。
  • HTMLUnitを実行します。同じことですが、Javaの場合
  • Python ベースのヘッドレス ブラウザであるGhost.py を使用します(何らかの理由でどこでも提案されていません!)。
  • Pyv8 (Google v8 JavaScript エンジン) に基づいて DOM ベースの JavaScript インタープリターを作成し、これを mechanize を使用して現在の「半分のソリューション」に追加します。

今のところ、Ghost.py を使用するか、PySide/PyQT Webkit (ゴーストの仕組み) を独自に変更して JavaScript を評価することにしました。画像をダウンロードせずに無効にするように最適化すると、非常に高速に実行できるようです。 GUI。

うまくいけば、他の人がこのリストを役に立つと思うでしょう!

于 2013-05-05T13:33:35.413 に答える
0

DOM と Javascript の両方を理解できるものが必要になるため、何らかのヘッドレス ブラウザが必要になります。多分あなたはselenium webdriverを見ることができますが、私はあなたがすでにそれをしたと思います. 実際のブラウザエンジンで実行せずにこれを行う簡単な方法があるとは思いません。

于 2013-05-04T14:22:52.767 に答える