掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
C++でWebページのラジオボタンをクリックするには (ID:62226)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
サンプル) // Google検索する #include <windows.h> #include <comdef.h> #import "shdocvw.dll" rename( "FindText", "FindTextIE" ) #import "mshtml.tlb" rename( "TranslateAccelerator", "TranslateAcceleratorHTML" ) HRESULT GoogleSearch( LPCTSTR searchword ) { HRESULT hr; hr = ::CoInitialize( NULL ); if ( FAILED( hr ) ) return hr; try { SHDocVw::IWebBrowser2Ptr pBrowser; // IEを立ち上げ、Googleの検索ページを表示 hr = pBrowser.CreateInstance( __uuidof( SHDocVw::InternetExplorer ) ); if ( FAILED( hr ) ) _com_issue_error( hr ); pBrowser->Visible = VARIANT_TRUE; pBrowser->Navigate( _bstr_t( L"http://www.google.co.jp/" ) ); // ページが表示されるまで待つ while ( pBrowser->Busy == VARIANT_TRUE || pBrowser->ReadyState != READYSTATE_COMPLETE ) ::Sleep( 100 ); MSHTML::IHTMLDocument3Ptr pDocument( pBrowser->Document ); MSHTML::IHTMLElementCollectionPtr pCollection; // 検索文字列を設定 pCollection = pDocument->getElementsByName( _bstr_t( L"q" ) ); MSHTML::IHTMLInputTextElementPtr pText( pCollection->item() ); pText->value = _bstr_t( searchword ); // ※ラジオボタンの操作 // 日本語のページから検索を選択(2番目のボタン) pCollection = pDocument->getElementsByName( _bstr_t( L"lr" ) ); MSHTML::DispIHTMLInputButtonElementPtr pButton( pCollection->item( 1 ) ); pButton->click(); // ウェブ検索ボタンを押す(Submit) pCollection = pDocument->getElementsByName( _bstr_t( L"f" ) ); MSHTML::IHTMLFormElementPtr pForm( pCollection->item() ); pForm->submit(); // ページが表示されるまで待つ while ( pBrowser->Busy == VARIANT_TRUE || pBrowser->ReadyState != READYSTATE_COMPLETE ) ::Sleep( 100 ); //pBrowser->Quit(); } catch ( _com_error& e ) { hr = e.Error(); } ::CoUninitialize(); return hr; } int main() { GoogleSearch( TEXT( "IWebBrowser2Ptr" ) ); return 0; }
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.