C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[7]: 【C++】IE操作でsubmitボタンを押す方法


(過去ログ 95 を表示中)

[トピック内 8 記事 (1 - 8 表示)]  << 0 >>

■56946 / inTopicNo.1)  【C++】IE操作でsubmitボタンを押す方法
  
□投稿者/ key (1回)-(2011/02/06(Sun) 11:06:37)

分類:[.NET 全般] 

こんにちは。この度プログラムでHTML上のsubmitボタンを押す方法がわからなくて質問をさせて頂きます。

MSHTMLを使い、html上のinputの<type = "submi">ボタンを押したいのですがうまくいきません。
inputの<type = "image">や<type = "text">なら以下のようにしてクリックできるのですが、なぜsubmitボタンはうまくいかないのでしょうか?
よろしくお願いいたします。

SHDocVw::IWebBrowser2Pt m_pIE.CreateInstance(L"InternetExplorer.Application");
//希望のページに飛ぶ(中略)
MSHTML::IHTMLDocument3Ptr pDocument( m_pIE->Document );
MSHTML::IHTMLElementCollectionPtr pCollection = pDocument->getElementsByTagName(_bstr_t(L"input"));
for (long i = 0; i < pCollection->length; ++i)
{
MSHTML::IHTMLInputElementPtr pInput(pCollection->item(_variant_t(i)));
if (!_wcsicmp(pInput->type, "submit" ) && pInput->value == _bstr_t( "要素の名前" ) ) {
MSHTML::IHTMLFormElementPtr pForm(pInput->form);
//!クリックする
if (pForm){
pForm->submit();
}
}
}
引用返信 編集キー/
■56947 / inTopicNo.2)  Re[1]: 【C++】IE操作でsubmitボタンを押す方法
□投稿者/ key (2回)-(2011/02/06(Sun) 11:08:23)
No56946 (key さん) に返信
> こんにちは。この度プログラムでHTML上のsubmitボタンを押す方法がわからなくて質問をさせて頂きます。
>
> MSHTMLを使い、html上のinputの<type = "submi">ボタンを押したいのですがうまくいきません。
> inputの<type = "image">や<type = "text">なら以下のようにしてクリックできるのですが、なぜsubmitボタンはうまくいかないのでしょうか?
> よろしくお願いいたします。
>
> SHDocVw::IWebBrowser2Pt m_pIE.CreateInstance(L"InternetExplorer.Application");
> //希望のページに飛ぶ(中略)
> MSHTML::IHTMLDocument3Ptr pDocument( m_pIE->Document );
> MSHTML::IHTMLElementCollectionPtr pCollection = pDocument->getElementsByTagName(_bstr_t(L"input"));
> for (long i = 0; i < pCollection->length; ++i)
> {
> MSHTML::IHTMLInputElementPtr pInput(pCollection->item(_variant_t(i)));
> if (!_wcsicmp(pInput->type, "submit" ) && pInput->value == _bstr_t( "要素の名前" ) ) {
> MSHTML::IHTMLFormElementPtr pForm(pInput->form);
> //!クリックする
> if (pForm){
> pForm->submit();
> }
> }
> }
解決済み
引用返信 編集キー/
■56948 / inTopicNo.3)  Re[2]: 【C++】IE操作でsubmitボタンを押す方法
□投稿者/ key (3回)-(2011/02/06(Sun) 11:09:11)
失礼しました。C++の質問場所ではなかったです。
別の場所で聞いてみます。
引用返信 編集キー/
■56949 / inTopicNo.4)  Re[3]: 【C++】IE操作でsubmitボタンを押す方法
□投稿者/ ちゃっぴ (74回)-(2011/02/06(Sun) 12:12:09)
ちゃっぴ さんの Web サイト
この掲示板はとりあえず computer 技術関わることであれば何でもアリです。
VC++ の質問ももちろんアリですし、その質問に答える優秀な回答者も多く存在します。
なので、回答がつかないならともかく他に移る必要はさらさらないかと。

本題ですが、MSHTML と ShDocVw の組み合わせすよね。
かなり以前扱っていた時には button の click 正常に扱えていた記憶がありますが。
あ、form に対して submit しているのか。これは検証していないな。
引用返信 編集キー/
■56953 / inTopicNo.5)  Re[4]: 【C++】IE操作でsubmitボタンを押す方法
□投稿者/ key (4回)-(2011/02/06(Sun) 17:21:57)
No56949 (ちゃっぴ さん) に返信

有難うございます。
そうだったんですね。一人で早とちりしてしまいました。

>本題ですが、MSHTML と ShDocVw の組み合わせすよね。
>かなり以前扱っていた時には button の click 正常に扱えていた記憶がありますが。

この言葉で以下を試してみたらうまくいきました。
formに対してsubmitは確かに不自然ですね。
有難うございます。もうひとつ疑問が出てきたので、もう少し考えてみて分からなければ投稿しようと思います。

MSHTML::IHTMLElementPtr pElement(pInput);
//!クリックする
if(pElement){
pElement->click();
}
引用返信 編集キー/
■56954 / inTopicNo.6)  Re[5]: 【C++】IE操作でsubmitボタンを押す方法
□投稿者/ 魔界の仮面弁士 (2058回)-(2011/02/06(Sun) 18:49:31)
No56953 (key さん) に返信
> formに対してsubmitは確かに不自然ですね。

通常は form の submit() で良いと思います。が、Web サイトによっては
submit ボタンに onclick イベントが登録されている事がありますので、
ボタンの click() の方が確実かもしれません。
引用返信 編集キー/
■56956 / inTopicNo.7)  Re[6]: 【C++】IE操作でsubmitボタンを押す方法
□投稿者/ key (5回)-(2011/02/06(Sun) 20:54:10)
No56954 (魔界の仮面弁士 さん) に返信

なるほど、有難うございます。
MSHTMLは参考サイトも少なく悪戦苦闘してます。。。
挫折せずにがんばろうと思います。
引用返信 編集キー/
■56958 / inTopicNo.8)  Re[7]: 【C++】IE操作でsubmitボタンを押す方法
□投稿者/ key (7回)-(2011/02/06(Sun) 21:38:15)
解決済みにしてませんでした。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -