TWebBrowserコンポーネントを使って、フォームに値を設定してSubmitする

TWebBrowserコンポーネントを使って、フォームに値を設定してSubmitするサンプルコードです。
C++Builder XEで動作確認をしました。

フォームにTWebBrowserまたはTCppWebBrowserと、TButtonを2つ(表示ボタンとSubmitボタン)配置します。

表示ボタンを押すとGoogleのトップページにアクセスし、Submitボタンを押すと検索キーワード欄に「C++Builder」を設定してSubmitするプログラムです。

表示ボタンのOnClickイベントに、指定したURLにアクセスしてページを表示するコードを記述します。

//Googleのトップページを表示する
WebBrowser1->Navigate(L"http://www.google.co.jp/");

SubmitボタンのOnClickイベントに、フォームの検索キーワード欄に「C++Builder」を設定しSubmitするコードを記述します。

Variant doc = WebBrowser1->ControlInterface->Document;
Variant forms = doc.OlePropertyGet("Forms");

//fはformフィールドのname属性
Variant form = forms.OleFunction("NamedItem","f");

Variant content = form.OlePropertyGet("All");

//qはinputフィールドのname属性
Variant loginField = content.OleFunction("NamedItem","q");

//inputフィールドに値を設定
loginField.OlePropertySet("Value","C++Builder");

//フォームをSubmit
form.OleFunction("Submit");

使い方は、まず表示ボタンを押してGoogleのトップページを表示します。
表示したらSubmitボタンを押します。
「C++Builder」で検索した結果が表示されます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください