• 09-02-2018, 20:07:25
    #1
    Selamlar, bir başka siteden dosya indiriyorum. Her sayfada 24 adet dosya var ve bu 24 adet dosyadan sonra "sonraki sayfa" butonuna basıp işlemi devam ettirmem gerekiyor.
    Class olarak click yaptığımda sonraki sayfaya geçiyor ancak kodlar çalışmaya devam etmiyor. Bunu session storage ile çözebilirmişim araştırdığım bilgilere göre.

    Şimdi çalışan kodlarım bunlar;

    for (var i = 0; i < 24; i++) 
    {
        (function(index) {
            setTimeout(function() 
            {
                
                document.getElementsByClassName('_2ZiaF_L9 _38HuCGJV')[index].click(); 
                setTimeout(function()
                {
                    document.querySelectorAll('button[title="Trial use"]')[0].click();
                }, 1500);
                setTimeout(function()
                {
                    document.querySelectorAll('button[type="submit"]')[1].click();
                    
                }, 3500);
            }, i * 10000);
            
        })(i);    
    }
    .sonrakiSayfa diye buton class'ı olsun. Ben sonraki sayfaya geçip nasıl işleme devam edebilirim? Yardımcı olabilecek var mı?
  • 09-02-2018, 20:15:16
    #2
    $(".sonrakiSayfa ").click(); ekle sonra yine dosyaların indirme kodunu çalıştır
  • 09-02-2018, 20:15:23
    #3
    session storage browser tabı için session olusturur yani isteğinizle alakasız sonraki sayfada class isimleri vs. değişiyo olmasın?
  • 09-02-2018, 20:26:53
    #4
    function Deneme(){
    for (var i = 0; i < 24; i++) 
    {
        (function(index) {
            setTimeout(function() 
            {
                 
                document.getElementsByClassName('_2ZiaF_L9 _38HuCGJV')[index].click(); 
                setTimeout(function()
                {
                    document.querySelectorAll('button[title="Trial use"]')[0].click();
                }, 1500);
                setTimeout(function()
                {
                    document.querySelectorAll('button[type="submit"]')[1].click();
                     
                }, 3500);
            }, i * 10000);
             
        })(i);
    $(".sonrakiSayfa ").click();     
    }
    }
    $(".sonrakiSayfa ").click(function(){
    Deneme();
    });
    Böyle bişey denedin mi ? İstersen bi iframe oluştur iframe içinde o sayfayı çağır öyle kullandır session storage kullanımını tam bilmiyorum
  • 09-02-2018, 22:03:49
    #5
    mtlive adlı üyeden alıntı: mesajı görüntüle
    $(".sonrakiSayfa ").click(); ekle sonra yine dosyaların indirme kodunu çalıştır
    can44 adlı üyeden alıntı: mesajı görüntüle
    session storage browser tabı için session olusturur yani isteğinizle alakasız sonraki sayfada class isimleri vs. değişiyo olmasın?
    mtlive adlı üyeden alıntı: mesajı görüntüle
    function Deneme(){ for (var i = 0; i < 24; i++) { (function(index) { setTimeout(function() { document.getElementsByClassName('_2ZiaF_L9 _38HuCGJV')[index].click(); setTimeout(function() { document.querySelectorAll('button[title="Trial use"]')[0].click(); }, 1500); setTimeout(function() { document.querySelectorAll('button[type="submit"]')[1].click(); }, 3500); }, i * 10000); })(i); $(".sonrakiSayfa ").click(); } } $(".sonrakiSayfa ").click(function(){ Deneme(); });
    Böyle bişey denedin mi ? İstersen bi iframe oluştur iframe içinde o sayfayı çağır öyle kullandır session storage kullanımını tam bilmiyorum


    Denedim yazdıklarınızı + olarak aşağıdaki kodu denedim ancak çözemedim hala.

    function Deneme()
    {
        for (var i = 0; i < 2; i++) 
        {
            (function(index) {
                setTimeout(function() 
                {
                      
                    document.getElementsByClassName('_2ZiaF_L9 _38HuCGJV')[index].click(); 
                    setTimeout(function()
                    {
                        document.querySelectorAll('button[title="Trial use"]')[0].click();
                    }, 1500);
                    setTimeout(function()
                    {
                        document.querySelectorAll('button[type="submit"]')[1].click();
                          
                    }, 3500);
                }, i * 10000);
                  
            })(i);
        }
        setTimeout(function()
        {
            document.getElementsByClassName('_36I3CjyO _635CaDn5')[2].click(); 
        }, 1500);        
    }
    Deneme();
  • 09-02-2018, 22:52:19
    #6
    byvolkan61 adlı üyeden alıntı: mesajı görüntüle
    Denedim yazdıklarınızı + olarak aşağıdaki kodu denedim ancak çözemedim hala.

    function Deneme() { for (var i = 0; i < 2; i++) { (function(index) { setTimeout(function() { document.getElementsByClassName('_2ZiaF_L9 _38HuCGJV')[index].click(); setTimeout(function() { document.querySelectorAll('button[title="Trial use"]')[0].click(); }, 1500); setTimeout(function() { document.querySelectorAll('button[type="submit"]')[1].click(); }, 3500); }, i * 10000); })(i); } setTimeout(function() { document.getElementsByClassName('_36I3CjyO _635CaDn5')[2].click(); }, 1500); } Deneme();
    mantığı şöyle düşünün sizkodu çalıştırıyorsunuz tıklaması gerektiği yerler belirlediğiniz süre sonunda bitiyor ve en alttaki sonraki sayfa butonuna tıklıyorsunuz o sayfanın içindekiler yüklendiği zaman siz o kodları yeniden çalıştırmanız gerekiyor,yani deneme fonksiyonunu kendi fonksiyonunun içinde çalıştırmanız gerekiyor veyahut her sonraki sayfa butonuna tıklandığındaki event olarak çalıştırmanız gerekiyor.Sizin son göndermiş olduğunuz koda bu olayı eklerseniz çalışması muhtemeldir.
  • 09-02-2018, 23:48:24
    #7
    mtlive adlı üyeden alıntı: mesajı görüntüle
    mantığı şöyle düşünün sizkodu çalıştırıyorsunuz tıklaması gerektiği yerler belirlediğiniz süre sonunda bitiyor ve en alttaki sonraki sayfa butonuna tıklıyorsunuz o sayfanın içindekiler yüklendiği zaman siz o kodları yeniden çalıştırmanız gerekiyor,yani deneme fonksiyonunu kendi fonksiyonunun içinde çalıştırmanız gerekiyor veyahut her sonraki sayfa butonuna tıklandığındaki event olarak çalıştırmanız gerekiyor.Sizin son göndermiş olduğunuz koda bu olayı eklerseniz çalışması muhtemeldir.
    Valla javascript kısmında iyi değilim düşünemedim hiç Şu şekilde çözdüm, 24 işlemin download saniyesini ölçtüm 4 dakika sürüyor. İkinci sayfaya geçiş butonuna settimeout ekleyip 4 dk 10 saniye sonra bastırıyorum
    Şimdilik günü kurtarmak adına yeterli. Teşekkür ederim. Profesyonel cevabı olan varsa düzenleyebilir tabi kodu


    function Deneme()
    {
        for (var i = 0; i < 24; i++) 
        {
            (function(index) {
                setTimeout(function() 
                {
                      
                    document.getElementsByClassName('_2ZiaF_L9 _38HuCGJV')[index].click(); 
                    setTimeout(function()
                    {
                        document.querySelectorAll('button[title="Trial use"]')[0].click();
                    }, 1500);
                    setTimeout(function()
                    {
                        document.querySelectorAll('button[type="submit"]')[1].click();
                          
                    }, 3500);
                }, i * 10000);
                  
            })(i);
        }
        setTimeout(function()
        {
            document.getElementsByClassName('_36I3CjyO _635CaDn5')[2].click();
        }, 240000);
        setTimeout(function()
        {
            Deneme();
            
        }, 243000);
    }
    Deneme();