Programlamaya Giriş
Chrome Konsol Üzerinden Butona Otomatik Tıklama Kodları Nasıl Üretilir?
Chrome Konsol Üzerinden Butona Otomatik Tıklama Kodları Nasıl Üretilir?
-
Selamlar.
Chrome üzerinden "class" yahut başka bir spesifik özelliği belli bir butondan diyelim ki bir sayfada 50 adet var.
Bunlara tek tek tıklama yaptırmak istiyorum. Yalnız bu tıklamaları aynı anda tek seferde değil bekleyerek yapsın istiyorum.
Misalen her klik arasında 10 saniye bekletebileyim.
Hatta 10 saniyeyi de zorlaştırırsak, 10 +- 5 saniye yani 5-15 saniye arasında farklı zaman aralıklarında ( random time interval) ile beklesin. İşlem otomatik görünmesin, insanın yaptığı zannedilmesi daha kolay olsun istiyorum.
Öncelikle öğeyi denetle detip butonun kodlarını alıyorum.
Örnekler üzerinden gidelim. En kolayı twitter üzerinden örneklemek olacak benim için.
Şöyle bir adresimiz var : https://iunfollow.com/unfollow
Twitter ile giriş yapınca, takip edilenler ve edenleri kıyaslayarak, seni geri takip etmeyenleri bir sayfada listeliyor. Tek tek saymadım lakin tahmini tek sayfada 50 adet kadar kullanıcı listeliyor. Hepsinin kendine has bir "unfollow" butonu mevcut.
<button class="btn btn-flat btn-danger pull-right unfollow" twitter-username="selcanakar" disabled=""><span>Unfollow</span></button>
Örnek butonumuz bu şekilde.
"class" özelliğinden faydalanarak butonları tanımlayabiliyoruz. Tıklanacak tüm butonlar aynı class'a sahip.
Araştırdım biraz. Stackowerflow, google falan sağolsun şöyle bir şey ile çalıştırabildim :
Konsola
var items = document.getElementsByClassName('btn btn-flat btn-danger pull-right unfollow'); for (var i = 0; i < 5; i++) { items[i].click(); }
bunu yapıştırdığımda tek seferde 5 butona aynı anda tıklıyor. ( aslında i < 5 değil i < items.count şeklindeydi, baktım hepsine aynı anda tıklayacak 5 yapıp deneyeyim dedim. ) ve komut çalıştı.
Ancak buna zaman aralığı veremedim. Verebilsem bile hep aynı saniye aralığıyla tıklayacak. Bana değişken bekleme süreleri lazım.
Bu sanırım javascript komutu. Bazı yerlerde de jquery ile daha kolay yapılabileceği söylenmiş. Ben nereden başlayıp nasıl ilerleyebileceğimi bilmiyorum. Bu konu hakkında bana biraz yol gösterebilirseniz çok sevinicem.
Çeşitli sitelere has farklı komutları buradan destek isteyip hazırlatmak yerine, ana hatlarıyla öğrenip / veya en azından ezberleyip - listeleyip, daha sonra ihtiyacım olan yere uyarlayabilmek istiyorum.
Chrome konsol tam olarak ne işe yarıyor, hangi komutları/ programlama dilini çalıştırma yetisine sahip? Şu i++ ; i<items.count komutları falan C# tan epey tanıdık geldi bana.
Örnek komutlar olan bir sayfa, test etmedim çalışıyorlar mı, ama fikir vermesi açısından :
https://www.turkulkusu.com/twitter-kodlari/
Tişikkirlir <3
-
Söylemeyi unutmuşum, bir de bütün butonlara tıklandıktan sonra sonraki sayfaya geçsin istiyorum. İşi çok daha komplike yapmayacaksa o konuda da destek isterim :)
-
imacros dene hacı
-
zennoposter isini gorur
-
SUPERBICO bunu yazdı
imacros dene hacı
-
Makrolarla hareketi kaydedip devam ettirebiliyoruz sanırım. Ben daha çok kodları kurcalayarak yapabilmek istiyprum bunu. Hem ilgi alanı açısından, hemi de o sekmede çalışırken ben başka sekmede takılabileyim diye :)
-
Hompeyç..
-
cybermole bunu yazdı
zennoposter isini gorur
chrome üzüende linke yönlendirip açılan sayfadaki resmi kaydettirmek mümkün olurmu acaba yarın deneyeyim
-
Alttaki delay değişkenini milisaniye cinsinden yazıyoruz (1sn = 1000ms). Mesela alttaki komut 3 saniye bekler.
var delay = 3000;
var items = document.getElementsByClassName('btn btn-flat btn-danger pull-right unfollow');
var counter = 0;
var ourInterval = setInterval(function() {
if(counter === items.length) {
clearInterval(ourInterval);
return false;
}
items[counter].click();
counter++;
}, delay); -
selenium a bir bak.
-
PcK0 bunu yazdı
Alttaki delay değişkenini milisaniye cinsinden yazıyoruz (1sn = 1000ms). Mesela alttaki komut 3 saniye bekler.
var delay = 3000;
var items = document.getElementsByClassName('btn btn-flat btn-danger pull-right unfollow');
var counter = 0;
var ourInterval = setInterval(function() {
if(counter === items.length) {
clearInterval(ourInterval);
return false;
}
items[counter].click();
counter++;
}, delay);Bu hangi dil oluyor hocam? Bu tarz başka nasıl özellikleri fonksiyonları mevcut nereden inceleyebilirim?
Misal şunu yapabilir mi, hiç buton kalmadıysa sayfayı aşağı kaydıracak
Ve butona tıklaması 2 koşula bağlanabilir mi, hem xx isimli buton olacak hem de butonun üstündeki yy textbox unda "blabla" yazmıyor olacak
Gibi
Alternatif program önerenlere de çok teşekkürler, bu şekilde çözmek istiyorum çözemezsem bakıcam onlara da