0

ここで問題があります。ウェブサイトでホストされているjavascriptで実装された基本的な計算機があると仮定します(私はそれをグーグルで検索し、例を見つけてこれを見つけました:http://www.unitsconverter.net/calculator/)。私がやりたいのは、このウェブサイトを開き、値を入力して戻り値を取得するプログラムを作成することです。したがって、私たちの Web サイト計算機では、プログラムは次のようになります。 - Web サイトを開く - オペランドを入力する - 操作を入力する - オペランドを入力する - 結果を取得する 注: ユーザーに何も表示する必要なく実行する必要があります (たとえば、ブラウザ)。

私はいくつかの検索を行い、HttpWebRequest と HttpWebRespond について見つけました。しかし、それらを使用してサーバーにデータを送信できると思います。つまり、データを送信するファイルは、php、aspx、または jsp でなければなりません。ただし、Javascript はクライアント側です。ですから、この場合、それらは私には役に立たないと思います。

何か助けはありますか?

更新: WebBrowser コントロール ツール ( System.Windows.Forms にあります) を使用して Web ボットを開発することができました。コードのサンプルは次のとおりです。

    webBrowser1.Navigate("LinkOfTheSiteYouWant"); // this will load the page specified in the string. You can add webBrowser1.ScriptErrorsSuppressed = true; to disable the script in a page
    webBrowser1.Document.GetElementById("ElementId").SetAttribute("HTMLattrbute", "valueToBeSet");

これらは、私がやりたいことをするために使用した主な方法です。このビデオは役に立ちました: http://www.youtube.com/watch?v=5P2KvFN_aLY

4

4 に答える 4

3

WatiNのようなものを使用して、ユーザーの入力/出力をアプリから Web サイトにパイプし、結果を返すことができると思いますが、別のコメンターが指摘したように、独自の計算機を作成するだけでこの種の価値はかなり逃げます自分。

于 2012-07-18T16:17:58.623 に答える
0

それは API の問題です。「リモート Web サイトは、必要な機能のための API を公開していますか?」。

インタラクティブな API を公開する Web リソースは、Web サービスと呼ばれます。たくさんの例があります ( Google マップなど)。

サービスの利用規約に応じて、クライアントから API にアクセスできます。クライアントの性質は、アクセスしている Web サービスの種類によって異なります。

  • SOAP ベースのサービスは、SOAP プロトコルに基づいています。

  • REST ベースのサービスは、REST の原則に基づいています。

そのため、「Calculator」というアクセス可能な Web サービスがあれば、そのサービスにアクセスして、たとえば sum メソッドを呼び出すことができます。

あなたの例では、電卓は Javascript 実装であるため、Web サービスではなく、HTTP 要求経由でアクセスすることはできません。ただし、その実装には引き続きアクセスできます。計算機が実装されているのはJavaScript ファイルです。いつでもファイルをウェブサイトに含めて、JavaScript 経由でその機能にアクセスできます (常に利用規約に注意してください!!)。

非常に一般的な例は、 Google Librariesに保存されている jQueryライブラリです。

于 2012-07-18T17:03:34.780 に答える
0

あなたが探しているのは、Web サービスに似たものです。あなたが提供したページは、HTTP POST のデータを受け入れないようであり、ソースにはスクレイピングできる意味のある情報がありません。たとえば、プログラムで eBay オークションの検索を行いたい場合、データを正しく投稿する方法を見つけることができます。

http://www.ebay.com/sch/i.html?_nkw=http+for+dummies&_sacat=267&_odkw=http+for+dummies&_osacat=0

次に、探している情報について http 応答を調べます。探しているマークアップに一致する正規表現を作成する必要があるでしょう。たとえば、結果の数を知りたい場合は、http 応答で次のマークアップを検索します。

<div class="alt w"><div class="cnt">Your search returned <b>0 items.</b></div></div>

クライアント側/JavaScript に関する限り、目的のようなことはできません。

于 2012-07-18T16:24:34.113 に答える
0

ページ上のすべての JavaScript コードを解析するには、JavaScript インタープリター (エンジン) が必要です。

https://www.google.com/search?q=c%23+javascript+engine

于 2012-07-18T16:15:54.600 に答える