• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Excell İle Web Sitesine Login Olurken Problem Yaşıyorum

Katılım
4 Aralık 2017
Mesajlar
134
Excel Vers. ve Dili
Excell 2016
Merhaba arkadaşlar,


kariyer.net sitesine login olmaya çalışıyorum VBA ile, yazdığım kod bloğunu aşağıda paylaşacağım fakat login olmak için "enter"'i tuşlattığımda username ve password alanını silip, alanları doldurmanız zorunludur diyor, nasıl aşabilirim?
teşekkürler şimdiden..

Kod:
Sub loginolmak()

Dim ie As New InternetExplorer
Dim doc As HTMLDocument

ie.navigate "https://ats.kariyer.net/#/"
ie.Visible = True

Do
DoEvents
Loop Until ie.readyState = READYSTATE_COMPLETE

Set doc = ie.document

doc.all.loginUsername.Value = "buraya_username_yaziyorum" 
doc.all.loginPassword.Value = "buraya_sifremi_yaziyorum"

Application.SendKeys "~"


End Sub
 
Aşağıdaki şekilde deneyin. Kullanıcı adınız ve şifreniz doğru ise girmesi gerekli.
Kod:
Sub loginolmak()

Dim ie As New InternetExplorer
Dim doc As HTMLDocument

ie.navigate "https://ats.kariyer.net/#/"
ie.Visible = True

Do
DoEvents
Loop Until ie.readyState = READYSTATE_COMPLETE

Set doc = ie.document

doc.all.loginUsername.Value = "buraya_username_yaziyorum"
doc.all.loginPassword.Value = "buraya_sifremi_yaziyorum"

'Application.SendKeys "~"
doc.forms(0).submit

End Sub
 
olmuyor malesef, isim şifre yazan yere kadar yazıp kodu bitiriyorum, manuel tıklıyorum ordan sonra sitenin herhangi bir yerine ya da giriş yap butonuna, aynı vba'da karşılaştığım sorunla karşılaşıyorum,

şifreyi ve kullanıcı adını siliyor,
zorunlu alanları doldurun diyor...
 
Bunu bir dene

Kod:
Sub loginolmak()
Dim ie As Object
Set ie = CreateObject("InternetExplorer.Application")

ie.navigate "https://ats.kariyer.net/#/"
ie.Visible = True

Do Until ie.ReadyState = 4: DoEvents: Loop
Do While ie.Busy: DoEvents: Loop
Do Until ie.ReadyState = 4: DoEvents: Loop
Application.Wait (Now + TimeValue("00:00:01"))

ie.document.getElementsByTagName("input")(o).Value = "şifre"
Application.Wait (Now + TimeValue("00:00:01"))
ie.document.getElementsByTagName("input")(1).Value = "parola"
Application.Wait (Now + TimeValue("00:00:01"))
ie.document.forms(0).submit
End Sub
 
"
Kullanıcı Adı veya E-posta alanı zorunlu alandır."

yine aynı hata, önce yazıyor, sonra siliyor.
siz denemiyor musunuz, sizde silmiyor mu?
 
Ben denedim kod çalışıyor isterseniz zamanı uzatarak yaptığı işlemleri görebilirsiniz.



Rich (BB code):
Sub loginolmak()
Dim ie As Object
Set ie = CreateObject("InternetExplorer.Application")

ie.navigate "https://ats.kariyer.net/#/"
ie.Visible = True

Do Until ie.ReadyState = 4: DoEvents: Loop
Do While ie.Busy: DoEvents: Loop
Do Until ie.ReadyState = 4: DoEvents: Loop
Application.Wait (Now + TimeValue("00:00:05"))

ie.document.getElementsByTagName("input")(o).Value = "şifre"
Application.Wait (Now + TimeValue("00:00:10"))
ie.document.getElementsByTagName("input")(1).Value = "parola"
Application.Wait (Now + TimeValue("00:00:10"))
'ie.document.forms(0).submit
End Sub
 
ilginç bir şekilde hala olmuyor, tarayıcıyı açıyor, kullanıcı adı ve şifremi yazıyor, burada kod bitiyor.
ben kendim sonrasında "giriş" e ya da sayfa üzerindeki herhangi bir yere tıkladığımda ekran görüntüsündeki durum ile karşılaşıyorum.

belki kullanıcı adı ve şifre girmeden önce sayfadaki boş bir alana click yaptırabilirsem koda, sorun ortadan kalkabilir?
 

Ekli dosyalar

  • Hata.JPG
    Hata.JPG
    134.1 KB · Görüntüleme: 10
bu kod giriş düğmesine tıklamadan önce mesaj verecek.

Kod:
Private Sub CommandButton1_Click()
'On Error Resume Next
Dim IE As Object
Set IE = CreateObject("InternetExplorer.Application")

IE.Navigate "https://ats.kariyer.net/#/"
IE.Visible = True

Do Until IE.ReadyState = 4: DoEvents: Loop
Do While IE.Busy: DoEvents: Loop
Do Until IE.ReadyState = 4: DoEvents: Loop
Application.Wait (Now + TimeValue("00:00:02"))

IE.Document.getElementsByTagName("input")(o).Value = "şifre"
Application.Wait (Now + TimeValue("00:00:02"))
IE.Document.getElementsByTagName("input")(1).Value = "parola"
Application.Wait (Now + TimeValue("00:00:02"))

Set elems = IE.Document.getElementsByTagName("button")
For Each Errs In elems
If Trim(Errs.innerText) = "Giriş" Then
MsgBox Errs.innerText
Errs.Click
Exit For
End If
Next Errs

End Sub
 
Doğru şifreyi girince bu hatayı veriyormu?
 
son yazdığınızı şimdi deniyorum, hemen yorum yapacağım,

bundan öncekilerle evet, doğru şifreyi yazdığımda da bu hatayı veriyordu ama mesele doğru ya da yanlış şifre değil, hiç bir şey girmedim olarak gösteriyor, başta dolduruyor kullanıcı adı ve şifre alanını, sonra giriş butonuna bastırmak istediğimizde ya da enter yaptırdığımızda siliyor.
 
Problem devam ediyor, yok mu çözüm yolu önerebilecek? siz de herhangi bir kullanıcı adı şifre denediğinizde aynı hatayı veriyor olmalı.
hatalı kullanıcı adı şifre dememeli,
doldurmanız zorunlu demeli.
 
Aşağıdaki kodlar çalışıyor ancak çok kararsız.
Bunun nedeninin internet explorer olduğunu düşünüyorum. Javascript kontrolü var web sayfasında. Elementler bir görünüp bir kayboluyor :)
Selenium Basic ile Chrome kullanmayı anlattığım eğitimimdeki yöntemleri kullanmanız daha iyi olacaktır.

Kod:
Dim IE As Object
Dim HTMLdoc As Object
    
Set IE = CreateObject("InternetExplorer.Application")
    With IE
        .Visible = True
        .navigate "https://ats.kariyer.net/#/"
        While .Busy Or .readyState <> 4: DoEvents: Wend
        Set HTMLdoc = IE.document
    End With
    
    HTMLdoc.getElementById("loginUsername").Value = "mail@mail.com"
    HTMLdoc.getElementById("loginPassword").Value = "123456789"

Dim buton
Set buton = IE.document.getElementsByClassName("btn md text-uppercase bg-purple text-white w-100 justify-content-center")(0)
buton.Click
 
Dim ie As New InternetExplorer Dim doc As HTMLDocument
Aşağıdaki kodlar çalışıyor ancak çok kararsız.
Bunun nedeninin internet explorer olduğunu düşünüyorum. Javascript kontrolü var web sayfasında. Elementler bir görünüp bir kayboluyor :)
Selenium Basic ile Chrome kullanmayı anlattığım eğitimimdeki yöntemleri kullanmanız daha iyi olacaktır.

Kod:
Dim IE As Object
Dim HTMLdoc As Object
  
Set IE = CreateObject("InternetExplorer.Application")
    With IE
        .Visible = True
        .navigate "https://ats.kariyer.net/#/"
        While .Busy Or .readyState <> 4: DoEvents: Wend
        Set HTMLdoc = IE.document
    End With
  
    HTMLdoc.getElementById("loginUsername").Value = "mail@mail.com"
    HTMLdoc.getElementById("loginPassword").Value = "123456789"

Dim buton
Set buton = IE.document.getElementsByClassName("btn md text-uppercase bg-purple text-white w-100 justify-content-center")(0)
buton.Click

eğitiminizi nereden bulabilirim?

@edit: aa, imzanızı şimdi gördüm üstad, henüz 42. dersteydim, daha selenium kodları anlattığınız videonuzu izlemeden projeye başladım. ilk fırsatta izleyeceğim. teşekkürler.
 
Geri
Üst