3

jQueryで簡単に実行できるいくつかのエディションが必要なHTMLファイルのバッチがあります(主にいくつかのノードを選択し、それらの属性を変更します)。

これを実現するための私のアプローチは、Google Chrome でそれらを 1 つずつ開き、コンソールで jQuery コードを実行し、結果の DOM を HTML エディターにコピーすることです。

私が現在行っていることには多くの時間がかかり、また、すべてのファイルに同じエディションが必要である (つまり、同じ jQuery/JS コードがすべての HTML ファイルで機能する) という事実のために、スクリプトを作成することを検討しています。 /これを行うためのプログラム。

とにかく、このタスクを達成するために次のアプローチのどれを採用する必要があるかは完全にはわかりません。

  1. FileSystem/File 操作ライブラリを使用して、jQueryで JavaScript スクリプトを作成します (どのライブラリを使用しますか?)

  2. jQuery ベースのライブラリ ( CsQueryなど)を使用して Java または C# プログラムを作成する

  3. 一部のエディター(Aptana、Notepad++、Eclipse など) 用のプラグイン、または編集用の jQuery のようなコマンドをサポートするまったく別のエディター (notepad++ の正規表現置換サポートと同様) を見つける。これは大きなバッチでは遅くなりますが、少なくとも Chrome との間での面倒なコピー/貼り付けを避けることができます。

このアプローチの1つは、必要なものを達成するための正しい方法ですか? (これを行う正しい方法はありますか?)どちらがより簡単ですか?

私は JavaScript よりも Java と C# の経験が豊富なので、#2 の方が簡単だと思いますが、そのアイデアは大ハンマーを使ってナッツを割るようなものだと思います。

4

2 に答える 2

2

PhantomJsの使用を検討する必要があります。コマンドラインから実行できるヘッドレスWebKitです。引数としてjavascript または coffeescript ファイルを受け入れます。これは、たとえば Web ページで何かを行うために使用できます。次に例を示します。

var page = require('webpage').create();
   page.open('http://m.bing.com', function(status) {
      var title = page.evaluate(function(s) {
         return document.querySelector(s).innerText;
      }, 'title');
      console.log(title);
      phantom.exit();
   });
于 2012-12-27T19:12:15.390 に答える
1

正しい方法はわかりませんが、C#に精通しているようで、クラスライブラリを作成することで自動化のオーバーヘッドが最小になると思います。考えられる解決策は次のとおりです。

  1. スクリプトライブラリ(C#.NETなど) -DOM操作を使用する場合は、前述のようなライブラリ、またはScriptSharpのようなライブラリを使用できます。HTMLに適切な終了タグがある場合は、LINQを使用してHTML(またはCodePlexにあるHTML Agility Packなど)を簡単にナビゲートすることもできます。C#のHTMLファイルテンプレートでMustacheを使用することもお勧めします。

  2. JavaScriptライブラリ-純粋なJavaScriptを使い続けたい場合は、Node.jsを使用できます。使用できるファイル操作ライブラリがあります。

  3. ヘッドレスブラウザ-結果のHTMLを自動的に保存できるかどうかは考えていませんが、 jsTestDriverやPhantom.jsなどを使用できます

エディターでプラグインを使用することもできますが、既存のアプリケーションから呼び出すことも、ジョブ/サービスとしてスケジュールすることもできるJava、C#、Pythonなどのライブラリを使用します。

于 2012-12-27T19:17:37.887 に答える