2011-07-11 5 views
0

私はWebスクレイピング用のWebブラウザコントロールを使用しているC#winformsアプリケーションを作成しています。 htmlソースの配列にアクセスする必要があります。私が考えている方法の1つはjavascriptですが、interop(Invokescript)を使用せずにjavascript関数から戻り値を取得する方法がわかりません。 interopを使わずにカスタムJavaScript関数を実行する方法はありますか?文字列変数に、私はorderInformationの値が欲しいWebbrowserはJavaScriptを使用せずに戻り値を取得します

webBrowser1.Navigate("javascript:function foo(){alert(orderInformation[1]);}foo();"); 

[1]:私はこのような何かをしようとしている瞬間に

また、私はjavascriptを使用すること以外にorderInformation [1]の値を抽出できる他の方法もあります。私は解析しようとしているHTMLコードのブロックは、次のとおりです。

   <script> 
       var orderInformation=new Array(12); 
       orderInformation[0]='10789999'; 
       orderInformation[1]='14222319'; 
       orderInformation[2]='CDD'; 
       orderInformation[3]=''; 
       orderInformation[4]=''; 
       orderInformation[5]='true'; 
       orderInformation[6]='CDD'; 
       orderInformation[7]='SEND'; 
       orderInformation[8]='Ted'; 
       orderInformation[9]='VXW'; 
       orderInformation[10]='12'; 
       orderInformation[11]='RP'; 
       ordersMap['1400319'] = orderInformation; 
      </script> 

var url = new String("/OrderCo.do?task=AOrder&OrderId="+document.forms[0].OrderId.value); 
window.open(url,"dispopup",properties); 

私が欲しいのはorderInformationにアクセスすることで、相互運用機能を使用することは行き過ぎであると思われます。

DOMを使用して行うことはできますか?

おかげ

答えて

0

は、そのページをダウンロードし、<script>タグの間のテキストを解析します。この方法では、Javascriptを実行する必要はなく、単にテキスト処理を使用して注文の詳細を取得することができます。

+0

これは私が現時点でやっていることですが、それは長いHTMLページから非常に信頼できるものではなく、時にはHTML応答にいくつかのバリエーションがあります。同じことをDOMを使って行うことはできますか? – Steve

関連する問題