2016-07-12 7 views
0

私は現在このFill user name and password in a webpage using VBAコードを使用してウェブサイトにログインしていますが、問題が発生しています。ユーザー名とパスワードはすでにブラウザに保存されているので、uid/passを再度追加してログインプロセスでエラーを作成しています。以前に入力したuid/passをクリアするコードを追加する方法はありますか?VBAを使用してウェブサイトにログインし、以前のログイン資格情報を消去する

Sub test() 
' open IE, navigate to the desired page and loop until fully loaded 
Set ie = CreateObject("InternetExplorer.Application") 
my_url = "https://hb2.bankleumi.co.il/e/Login.html" 

With ie 
    .Visible = True 
    .Navigate my_url 
    .Top = 50 
    .Left = 530 
    .Height = 400 
    .Width = 400 

Do Until Not ie.Busy And ie.readyState = 4 
    DoEvents 
Loop 

End With 

' Input the userid and password 
ie.Document.getElementById("uid").Value = "testID" 
ie.Document.getElementById("password").Value = "testPW" 

' Click the "Search" button 
ie.Document.getElementById("enter").Click 

Do Until Not ie.Busy And ie.readyState = 4 
    DoEvents 
Loop 
End Sub 
+1

最初のチェックと既存のユーザー名出てクリアされている場合現在のユーザー名。この場合、単に移動してクリックします。さもなければ '.Value =" "'行でそれをクリアしようとしますか? –

+0

@ScottHoltzmanブリリアント。 .value = ""を使ってそれをクリアすると、完全に動作しました。どうもありがとうございました!答えとして投稿すると、スレッドを閉じることができるので、それを受け入れることができれば幸いです。 – TonyP

答えて

2

現在ロードされているユーザ名が同じであるかどうかをテストすることができ、そのため、クリックするだけであれば、そうでない場合、値はすでに.Value = ""

If ie.Document.getElementById("uid").Value = "testID" Then 
Else 
    ie.Document.getElementById("uid").Value = "" 
    ie.Document.getElementById("password").Value = "" 
    ie.Document.getElementById("uid").Value = "testID" 
    ie.Document.getElementById("password").Value = "testPW" 
End If 
関連する問題