2012-01-26 22 views
7

ColdFusionを使用して作成されたWebサイトがあります(このことが重要かどうかはわかりません)。私はこのウェブサイトと対話する必要があります。私がする必要がある主なものは、異なるページとクリックボタンに移動することです。C#のWebページとのやりとり

私はこれを行う方法について2つのアイデアを考え出しました。 1つはWebBrowserコントロールを使用することです。これで、確実にページを移動し、ボタンをクリックすることができました(Thisによる)。

もう1つの方法は、htmlと直接対話することです。これを行う方法を正確にはわかりませんが、ボタンをクリックするか、HTMLリクエストを使用してページとやりとりすることができると仮定しています。

誰にどのような方法が推奨されていますか?私が考えていないより良い方法がありますか?

+1

他の人が以下に投稿したように、.NETでサイトに触れる通常の方法は、HttpWebRequestを使うことです。コードを使用してサイトを簡単にナビゲートし、ポスト/取得要求を発行してインタラクションをシミュレートすることができます(ボタンが押されます)。 Fiddler(FREE proxy)を使用してプロセスを記録する必要があります。これにより、Webサイトとのやりとりのプロセス全体を見ることができるため、コードで再作成できます。 HtmlAgilityPackは、HTMLを解析するための優れたツールです。これは、スクラップしているものに応じて必要になる場合があります。 – Zachary

+2

[WatiN](http://watin.org/)を試してください。 – MUS

答えて

3

に送られる何についてのHTML AgilityPackとHttpWebRequestのでより多くの制御を取得クリックしてナビゲーションをシミュレートするために、WebBrowserコントロールを使用することが可能かもしれないが、あなたはSeleniumを検討しましたか? WebDriver APIは非常に優れており、ウェブサイトの自動化に関して多くのことを可能にしています。

+0

壊れたリンク – Darkloki

+0

@Darkloki、url fixed、thanksありがとう – Vinzz

2

HtmlAguilityPackは、ウェブ要素を引き出してタグを簡単に見つけるのに便利です。ただし、Webセッションを遠隔操作する必要がある場合は、WatiNを使用することをお勧めします。それは、Web単体テストのフレームワークとして請求されますが、ブラウザセクションを偽造する必要があるときはいつでも非常に便利です。さらに、必要なほとんどの作業(ボタンを見つけて押したり、テキストフィールドを入力したり、ログインが必要な場合はテキストを入力するなど)を行うために、さまざまなブラウザをリモートコントロールすることができます。

1

なぜ直接URLを提出しませんか?それがボタンのクリックがすることです。 WebRequest.Createを使用すると、URLに直接送信できます。ボタンを読み込み、解析して「クリック」する必要はありません。

関連する問題