DOBON.NET DOBON.NETプログラミング掲示板過去ログ

webBrowserの自動submitについて

環境/言語:[C#]
分類:[.NET]

はじめまして、いつもどぼん!のプログラミングHPを参考にさせていただいております。

この度、少々難解な問題に直面いたしましたので質問させてください。
当方、Visualstudio2005/Framework2.0にてWindowsアプリケーションを作成しております。

今作成しているアプリはwebBrowserにて表示されたWebページに情報を入力し、
確認画面を経て登録完了を自動で行うアプリケーションです。

今直面している問題は、
webBrowser7.Document.All.GetElementsByName("test1")[0].SetAttribute("checked", "true");
webBrowser7.Document.All.GetElementsByName("BidOrBuyPrice")[0].InnerText = val.ItemArray[16].ToString();

のようにしてTEXTを入力したり、チェックボックスにチェックを入れる事は
出来たのですが、その後
webBrowser7.Document.Forms[0].InvokeMember("submit");を実行して
<INPUT TYPE="submit" VALUE="続ける" onClick="copyForms()">
をSubmitし、確認画面へ遷移することができません・・・

HTML中にFORMは1つしかありません。
しかし、怪しいのがtype=submitが1つのフォームに3つある点です。
実際のHTML(フォーム部分)を記載いたします。

<FORM METHOD="POST" NAME="japan" ACTION="/jp/preview">
<input type=submit name=select value="画像のアップロード">
<INPUT TYPE="submit" VALUE="続ける" onClick="copyForms(document.action)">
<INPUT TYPE="submit" VALUE="続ける" onClick="copyForms(document.action)">
</FORM>

画像をアップして、続けるをクリックする為、
webBrowser7.Document.All.GetElementsByName("select")[0].InvokeMember("click");
を実行し(画像のアップ時違う画面へ遷移、その後もとのページへ戻す←ここまでは正常)
webBrowser7.Document.Forms[0].InvokeMember("submit");
にて【続ける】をクリックして確認画面に遷移したいのですが、移動しません・・・

当方文才がないのでうまく表現できませんが、何か心当たりはございませんでしょうか??
是非ご教授の程よろしくお願いいたします。
■No21859に返信(NEROさんの記事)
> しかし、怪しいのがtype=submitが1つのフォームに3つある点です。
>

とりあえず、その怪しいのを1つにして試してみたらいかがでしょう?
やじゅ さん

レスありがとうございます。
怪しい点を改善したいのですが、当方管轄のwebページではないので
HTMLをいじることができないんです・・・
> webBrowser7.Document.Forms[0].InvokeMember("submit");を実行して
> <INPUT TYPE="submit" VALUE="続ける" onClick="copyForms()">
> をSubmitし、確認画面へ遷移することができません・・・
ところで、InvokeMember("submit")の場合はどれを実行したことになるんでしょう。
最初の「画像のアップロード」と同じ扱いかな?

InvokeMember("submit")で検索すると複数のボタンがあるパターンについていくつかのサイトがヒットします。
これらのサイトを頼りに試してみては?

DOBON.NET | プログラミング道 | プログラミング掲示板