###目標
あるwebページに「ユーザ名とパスワードを自動入力しログインボタンを押す」という処理を行いたいと思っています。
環境はVisual Studio C#、.NET Frame Work 4.5で、フォームにWebBrowserコントロールを配置し処理をしたいと考えています。
###問題点
webページにアクセスし、テキストボックスに入力させるまではできたのですが、どうやらテキストボックス上をマウスでクリックした際は問題なくログインボタンが有効化されるものの、テキストボックスにただ文字列を入れただけではログインボタンは押せない(その際、ボタンの上にカーソルを持っていくと赤い禁止のマークが出てクリックできない)のです。
###該当のソースコード
C#
1 HtmlElementCollection all = webBrowser1.Document.All; 2 HtmlElementCollection forms_un = all.GetElementsByName("user"); 3 forms_un[0].InnerText = textBox1.Text; // テキストボックスにユーザ名を入力 4 HtmlElementCollection forms_pw = all.GetElementsByName("passwd"); 5 6 //webBrowser1.PreviewKeyDown(); 7 forms_pw[0].InnerText = textBox2.Text; // テキストボックスにパスワードを入力 8 9 10 HtmlElementCollection buttons = all.GetElementsByName("login_form"); 11 12 buttons[0].InvokeMember("submit"); // フォームのサブミット
このコードを実行すると、スクリプトエラー
「
ライン:1
文字:1
エラー:メンバーが見つかりません
コード:0
URL:
」
となり実行できません。
###試したこと
テキストボックスやボタンについて
C#
1forms_pw[0].Focus(); 2forms_pw[0].Enabled = true;
などを加えてみましたが、できませんでした。また、先程の状態からテキストボックスどちらかをクリックするだけでログインボタンは押せるようになるので、何かの処理が足りないのではないかと考えております。
通常はクリックでなくとも、Tabキーなどでもログインボタンは押せるようになるようです。
###補足情報
ログインボタンは読み込み時は
HTML
1<input name="ok" disabled="disabled" class="buttonFixed" id="submit" type="submit" value="Login">
ですが、ボタンが押せる状態になると
HTML
1<input name="ok" class="buttonFixed" id="submit" type="submit" value="Login">
となるようです。
ご教示のほどよろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー