2010-12-27 8 views
2

私はマルチスレッド[workers]アプリケーションを作成しています。各スレッドにはWebページにナビゲートし、フィールドにデータを書き込み、ボタンをクリックする独自の非GUI Webブラウザーが必要です。私はまた、それぞれのWebブラウザーにそれ自身のプロキシーを持たせる必要があります。私は古典的なWindows.Forms.WebBrowserを試しましたが、私の場合はIEのグローバル設定に依存しているので、プロキシの部分で立ち往生してしまいました。どんな提言も大歓迎です。インスタンスごとに1つのプロキシを許可する最も優れたWebBrowserコントロールは何ですか?

注:私はHttpWebRequest/Responseを通じてそれをやってみましたが、ABテストに従って値を計算するjavascriptコードからその値を取得する[ab_test_data]というフィールドがページに渡されるデータとして機能しません私は完全に理解していません。誰かがab_test_dataをC#コードに変換するJavaScriptコードを変換する方法を教えてくれない限り、WebBrowserが私の最高の解決策になります。私がアクセスしようとしているページで使用されているアルゴリズムは、とても洗練されています。

note2:ab_test_dataの値は、httpWebRequest/ResponseでシミュレートできないWindow.EventとTimestampに依存します。

note3:私はGeckoを試しましたが、GeckoWebBrowserが(私が欲しくない)フォームに描画されていない限り、Webページに何もさせません。 すべてのソリューションは大歓迎です。

編集:他の言語(多分Java)で欲しいと思っているようなWebブラウザーを知っていれば知りたいです。

ありがとうございます。役立つかもしれない質問として

+0

これは非常に重要な質問です。 Chromeには最終的に十分な注意が払われているため、おそらく新しい.NETバインディングがいくつか存在します。質問してくれてありがとう。コミュニティウィキアおそらく? – Chad

+0

@Chad:この質問は、「.NETアプリケーションに組み込むための最良のブラウザとは何か」という台本の質問には、あまりにも専門的すぎると思います。 GUIなしでブラウザを最後に使用したのはいつですか? –

+0

@Cody Grey - 私は間違った人物です:-)私は実際に.NETアプリケーションを開発していて、今では目に見えないWebBrowsers(IE)を使っています。 WebBrowser/IEのより速い代替手段を探していたので、それが最初の質問に惹かれました。 – Chad

答えて

1
+0

フィールドにテキストを書き込んだり、目に見えないWebKitブラウザのボタンをクリックすることはできますか?私はそうは思わない。 – deadlock

+0

私が言及したように、私は各スレッドに1つずつ、多くのブラウザを使用するため、ブラウザを見えないようにする必要があります。私はWindows.Forms.WebBrowserを使ってみましたが、 "new WebBrowser()"を使ってオブジェクトを作成し、それをフォームに描画しませんでした。私はそれがそのように必要です。 – deadlock

+0

私の質問をよく読んでください。私はHttpWebRequestを使うことができればいいと思うが、ABTestingはそうしないようにしている。彼が提出するとクライアントブラウザで生成されるためです。それは私がブラウザなしで得ることができないWindow.Eventとブラウザタイムスタンプにも依存します。 HttpWebRequestは私にそれをさせません。 – deadlock

1

のブラウザでは、(例えば)ウィンドウ/タブごとにプロキシを許可しない理由は、私は疑問に思いますか?私はそれが開発時間に関して有用性の欠如のためにたくさんあると思う。

ブラウザにはWebリクエストやキャッシュなどのための集中エンジンがあると思われるかもしれません...おそらく、ウィンドウやタブごとにプロキシを許可すると、現代のブラウザのデザインが根本的に変更され、パフォーマンスに悪影響を及ぼす可能性があります。私は本当に知らない。この点をさらに説明するために、シークレットモードやプライベートブラウジングなどを検討してください。このような場合、ブラウザは少なくとも概念的にはウィンドウごとに別々のキャッシュを作成していますが、シークレットウィンドウと標準ウィンドウ(Chrome)は同じ基本Web要求エンジンを使用します。

今はJavaScriptとDOMパーサとインタープリタが必要な人が非常に多くいます。 HtmlAgility PackJintのようなプロジェクトは助けになりますが、統一された標準的な解決策はないようです。少なくとも1つはWebブラウザのシンプルさではありません。

[以下の暴言]は...残念ながら、JINTとHtmlAgilityのようなプロジェクトが気になるです。 1つは、IE、Chrome、Safari、FireFoxではありません。あなたはあなたが自分に何をもたらしているのかを正確には知らない。たとえば、Chromeページでは、xyz.comが完全に読み込まれてレンダリングされることがわかります。 FireFoxを起動して、他のブラウザと全く同じではないかもしれないことがわかります。しかし、これらのライブラリでは、すべてが正しく動作しているかどうかは分かりません(クイックチェックを行うための表示はありません)。さらに、彼らはどのペースで彼らが開発されているかを知っています。彼らはHTML5に追いついていますか?彼らは主要なブラウザに遅れをとっていますか?パフォーマンスはどうですか?さらに、ブラウザには既にキャッシングやパフォーマンスの向上などの機能がありますが、個々のライブラリを入手することはできません。

最高のブラウザコントロールはもちろんのようになり

:私は残念ながら、それが夢だと思う

IWebBrowser browser = new IE(); 
IWebBrowser browser = new Chrome(); 
IWebBrowser browser = new Safari(); 
IWebBrowser browser = new FireFox(); 

。 1つは、これらのプラグインをロードしたければどうしますか?ユーザープロファイル、ユーザーログインなどはどうですか?私たちのほとんどは、これらの追加機能がないブラウザの筋肉を欲しがっていると思います。

あなたは良いChromeソリューションを見つけることを本当に願っています。あなたがFireFoxの世界で何を持っているのか分かりません。更新してもらえますか?これらのソリューションは急速に進化しています。私は今日までCefSharpやWebKit.NETについて聞いたことが一度もなく、数か月前に私自身が使用するために同じもの(ChromeやFireFox .NETブラウザ)を探しました。多くの人が集まって標準インターフェースを作り、各社が仕様に準拠した組み込みのブラウザを構築すれば素晴らしいだろう。ここで願います。

関連する問題