自動投稿を行うC#デスクトッププログラムを開発しています
- C# webbrowser コントロールで web ページ (フォーム付き) を開いています
- ページが開いたら、フォーム フィールドにデータを入力します (C# コードを使用)。したがって、手動操作はありません
私の質問は次のとおりです。データをサーバーに自動的に送信するにはどうすればよいですか (つまり、C# コードを使用して送信ボタンを押すにはどうすればよいですか)?
自動投稿を行うC#デスクトッププログラムを開発しています
私の質問は次のとおりです。データをサーバーに自動的に送信するにはどうすればよいですか (つまり、C# コードを使用して送信ボタンを押すにはどうすればよいですか)?
基本的に同じコードを使用してフィールドを見つけて入力し、DOMをトラバースして送信ボタンを見つけ、invokeを介してクリックを送信できます。
theElementCollection = WebBrowser1.Document.GetElementsByTagName("input");
foreach (HtmlElement curElement in theElementCollection) {
if (curElement.GetAttribute("id").Equals("login_button")) {
curElement.InvokeMember("click");
ワティンを見てください。しかし、私は個人的に、WebClient
またはHttpWebRequest
サーバーとの間でデータを取得/投稿するために使用します
フォームを送信する場合は、これにチェックを入れます。
// get the document
mshtml.IHTMLDocument2 doc = ((mshtml.HTMLDocumentClass)webBrowser1.Document);
// set a variable
((mshtml.IHTMLElement)doc.all.item("q")).setAttribute("value", "my input...");
// click a button
((mshtml.HTMLInputElement)doc.all.item("btnI")).click();
名前空間mshtml
はMicrosoft.mshtml
アセンブリにあります。
への参照を追加するだけMicrosoft.mshtml
です。