2016-07-12 5 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 Brilliant. .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 
관련 문제