- - PR -
VB6.0の WebBrowser使用で自動ログインの方法
1
投票結果総投票数:7 | |||
---|---|---|---|
VB6.0 | 7票 | 100.00% | |
|
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-09-23 15:35
初めて投稿します。
VB6の WebBrowserで WebBrowser1.Navigate ("http://blog95.fc2.com/") Do While WebBrowser1.Busy = True DoEvents Loop WebBrowser1.Visible = True Do While WebBrowser1.Document.ReadyState <> "complete" DoEvents Loop WebBrowser1.Document.All.loginid.Value = "********" WebBrowser1.Document.All.passwd.Value = "******" WebBrowser1.Document.login.submit 上記のコードでFC2ブログは表示されますが。肝心のログイン部分で、 「オブジェクトはこのプロパティまたはメソッドをサポートしていません」と出ます。 色々調べたのですが、これはと言うものが見つかりません。(参考は有っても動作しません。) WebBrowser1.Document.以下が違うのでしょうがVB2005では違います。VB6でご存知の方、参考URLを教えて下さい。お願いいたします。 | ||||||||||||
|
投稿日時: 2008-09-23 16:50
この中の loginid, passwd, login というオブジェクトの名前は、その Web サイトに固有のものです。すなわち Web サイトの HTML ソースの中にその名前が書いてなければその名前ではアクセスできません。 その Web サイトの HTML を眺めてみましたが、少なくとも loginid という名前のものは存在しません。実行時にエラーが出るのはそのためでしょう。 なお、こういうことを調べる方法としては HTML ソースを眺める方法のほかに、Firefox 用の Dom Inspector などがあります。多少手間が楽になります。 | ||||||||||||
|
投稿日時: 2008-09-23 17:09
unibonさん、早速のご回答有難う御座います。
>>この中の loginid, passwd, login というオブジェクトの名前は、その Web サイトに固有のものです。 と言う事は、いちいち、相手のHTMLを見ないと決められないと言う事でしょうか?自動で認証が必要なページに自動的にログインは不可能ですか?共通の何かあるとおもうのですが・・・。Document.getElementsByName等はVB6のWebBrowserでつかえるのでしょうか?相手先HTMLをいちいち読み込み、解析しないといけないのでしょうか? | ||||||||||||
|
投稿日時: 2008-09-23 17:24
私は共通のものがあるとは知らないです。私は自分でやるときは、いちいち HTML を見てます。 なお、パスワードのフィールドでしたら、
になっていることがほとんどですので、それ(type 属性が "password" のもの)を探して、ユーザー名やログインIDの入力フィールドはそのちょっと上にあることが多い、といった経験を使って、ある程度の自動化はできるかもしれませんが、100%ではないと思います。また、ログインボタンを押すという操作は、クライアントサイドの JavaScript の絡みで、form を submit するだけではうまくいかず、button を click するという操作をしないとうまくいかないサイトも結構あります。
getElementsByName は言語を問わず使えるでしょう。 上述のように、いちいち解析するしかないと思うのですが、もしなにか共通の方法があれば私もぜひ知りたいです。 | ||||||||||||
|
投稿日時: 2008-09-23 17:39
unibonさん。有難う御座います。引き続き私も調べてみます。済みませんでした。
|
1