|
分類:[.NET 全般]
現在VB2008の環境で、yahoo自動ログインのプログラムを作成しようとしています。
コードは以下の通りです。テキストボックスにID、パスワードを入力後自動ログインは成功しました。
Dim objeBrowser As New SHDocVw.InternetExplorer()
Dim iCol As mshtml.IHTMLElementCollection
Dim iEle As mshtml.IHTMLElement
Dim sString As String
Dim sID As String 'Yahoo! JAPAN ID
Dim sPass As String 'パスワード
sID = TextBox1.Text
sPass = TextBox2.Text
objeBrowser.Visible = True
objeBrowser.Navigate("https://login.yahoo.co.jp/config/login_verify2?.src=ym", Nothing, Nothing, Nothing, Nothing)
Do
Loop Until Not objeBrowser.Busy
Dim HTMLDoc As mshtml.HTMLDocument
Do
Loop Until Not objeBrowser.Busy
HTMLDoc = objeBrowser.Document
iCol = HTMLDoc.getElementsByTagName("input")
'Yahoo! JAPAN ID============================
For Each iEle In iCol
If Not iEle.getAttribute("name") Is Nothing Then
sString = iEle.getAttribute("name").ToString
If sString = "login" Then
iEle.setAttribute("value", sID)
Exit For
End If
End If
Next
'パスワード=================================
For Each iEle In iCol
If Not iEle.getAttribute("name") Is Nothing Then
sString = iEle.getAttribute("name").ToString
If sString = "passwd" Then
iEle.setAttribute("value", sPass)
Exit For
End If
End If
Next
'ログイン====================================
For Each iEle In iCol
If Not iEle.getAttribute("type") Is Nothing Then
sString = iEle.getAttribute("type").ToString
If sString = "image" Then
sString = iEle.getAttribute("value").ToString
If sString = "ログイン" Then
iEle.click()
Exit For
End If
End If
End If
Next
Do
Loop Until Not objeBrowser.Busy
しかし上記のコードで実行すると、新規にIEを開いてログインしてしまいます。
AxWebBrowser1コントロール等を使用して、フォーム上に同様の処理を表示させたいのですがうまくいきません。
下記コードを実行しても入力前のログイン画面が表示されるのみです。
AxWebBrowser1.Navigate2("https://login.yahoo.co.jp/config/login_verify2?.src=ym", Nothing, Nothing, Nothing, Nothing)
新規にIEを開くことなく、webBowser上に処理後の画面を表示させるにはどうしたらいいでしょうか?
VBをほとんど初心者で、大雑把な質問で申し訳ないのですが何卒ご教授の程よろしくお願いします。
|