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

vb2005 webBrowserにて自動ログイン

環境/言語:[WindowsVista  vb.net(2005)]
分類:[.NET]

vb2005でプログラムを作成しております。初心者です。

今やりたいこと
・webBrowserに指定のHPを表示し、パスワードを入力し、ログインボタンを押したい

色々検索し探してみましたが、vb6とvb2008のサンプルしか見つかりませんでした。
よろしければ、vb2005のサンプルがある場所 or ご教授願いたいです。

よろしくお願いします。
■No23564に返信(疑問猫さんの記事)
> ・webBrowserに指定のHPを表示し、パスワードを入力し、ログインボタンを押したい

VB2005のWebBrowserコントロールでヤフーにログインする方法を教えてください。
http://oshiete1.goo.ne.jp/qa2267377.html

> 色々検索し探してみましたが、vb6とvb2008のサンプルしか見つかりませんでした。
VB6はともかく、VB2008のサンプルならVB2005でもだいたい動作しますよ。
返信ありがとうございました。
早速URLに書かれていたプログラムを使用し作成してみました。

WebBrowser1.Navigate("URL記入")
WebBrowser1.Document.All.GetElementsByName("password")(0).InnerText = "パスワード入力"
WebBrowser1.Document.Forms(0).InvokeMember("submit")

上記のように作成したところ、
「オブジェクト参照がオブジェクト インスタンスに設定されていません。」
というエラーが出てしまいました。
正直何をどのように修正したらいいのかわかりません。

1つ目の文:指定したURLをWebBrowser1に表示する
2つ目の文:WebBrowser1に表示されているpassword(ソースにて名前確認)に入力する
3つ目の文:submit(ボタンの名前)をクリックする
という解釈したのですが間違っているでしょうか。

> VB6はともかく、VB2008のサンプルならVB2005でもだいたい動作しますよ。
VB2008のソースを真似て作成してみましたが、使えないものもあり、これかな〜というやつに置き換えてみましたができませんでした><;

すいませんが、ご教授願えましたらよろしくお願いします。
■No23568に返信(疑問猫さんの記事)
> 「オブジェクト参照がオブジェクト インスタンスに設定されていません。」
> というエラーが出てしまいました。

そもそも、WebBrowserコントロールは、フォームに貼り付いているのでしょうか?前も初期状態のWebBrowser1のままでいいです。
http://msdn.microsoft.com/ja-jp/library/cc440906.aspx
返信ありがとうございます。

> そもそも、WebBrowserコントロールは、フォームに貼り付いているのでしょうか?前も初期状態のWebBrowser1のままでいいです。

張り付いてます。
WebBrowser1.Navigate("URL")
で表示されることは確認済みです。
■No23568に返信(疑問猫さんの記事)
> WebBrowser1.Navigate("URL記入")
> WebBrowser1.Document.All.GetElementsByName("password")(0).InnerText = "パスワード入力"
> WebBrowser1.Document.Forms(0).InvokeMember("submit")

Navigate の後、ページの読み込みが行われて、かつ、その内容が
解析されて Document プロパティとして構築されるまでには、
若干の時間がかかります。

Document を処理したいのであれば、その URL の DocumentCompleted イベントが
発生した後に行うようにしてください。


もし、十分な時間がたった後も
> WebBrowser1.Document.All.GetElementsByName("password")(0).InnerText = "パスワード入力"
> WebBrowser1.Document.Forms(0).InvokeMember("submit")
が失敗するのであれば、要素の指定方法に問題があって、
上記いずれかのメンバが Nothing 状態になっているはずなので、
ウォッチ ウィンドウなどを用いて、それぞれのプロパティの値を
確認してみてください。
魔界の仮面弁士様 返信ありがとうございます。
様々なスレで名前を拝見しており、役に立たせて頂いてます。

> Document を処理したいのであれば、その URL の DocumentCompleted イベントが
> 発生した後に行うようにしてください。

DocumentCompletedのsubを作成し、そちらに入力とクリックを委託したところ、
入力し、クリックされ、ログインに成功しました。

魔界の仮面弁士様 ありがとうございました。
また、このような質問がありました際には是非ご教授お願いいたします。
■No23564に返信(疑問猫さんの記事)
> vb2005でプログラムを作成しております。初心者です。
>
> 今やりたいこと
> ・webBrowserに指定のHPを表示し、パスワードを入力し、ログインボタンを押したい
>
> 色々検索し探してみましたが、vb6とvb2008のサンプルしか見つかりませんでした。
> よろしければ、vb2005のサンプルがある場所 or ご教授願いたいです。
>
> よろしくお願いします。
解決済み!

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