Python ve Selenyum ile Basit Otomatik Giriş Botu Nasıl Oluşturulur
Otomasyon hiç şüphesiz bir programcının sahip olabileceği en imrenilen becerilerden biridir. Otomasyon tipik olarak kullanılan işler için kullanılır. tekrarlayan, sıkıcı, zaman alıcı, ya da yetersiz bir komut dosyası kullanmadan.
İle web otomasyonu, kolayca yapabilirsin farklı görevleri gerçekleştirmek için bir bot oluşturun İnternette rakip otel fiyatlarını izlemek ve en uygun fiyatı belirlemek için web’de.
Şahsen ben her zaman buldum e-posta adresime giriş Oldukça tekrarlayan ve sıkıcı, bu yüzden sizi almak için basit bir örnek uğruna web otomasyonu ile başladı, hadi uygulayalım otomatik Python betiği için tek bir tıklama ile giriş yap bir Gmail hesabına.
Kurulum ve kurulum
Bu derste biz kullanacağız aşağıdaki araçlar:
- Python programlama dili
- Google Chrome tarayıcısı
- Selenyum tarayıcı otomasyonu araç seti
- Chrome için Chrome Sürücüsü web sürücüsü
Programımız için özellikle Python programlama dilini kullanacağız. sürüm 2.7.11. Biz bir yüklemek önemlidir Python 2'nin oldukça yeni versiyonu çünkü geliyor PIP, Komut dosyalarımızı otomatikleştirmek için ihtiyaç duyacağımız üçüncü taraf paketlerini ve çerçevelerini yüklememize izin verecek.
Kurulduktan sonra, bilgisayarı yeniden başlatın değişikliklerin etkili olması için. Komutu kullan pip selenyum yüklemek
eklemek için Selenyum web otomasyonu araç seti Python'a. Selenyum, programlı olarak kaydırma yapmamıza, metin kopyalamamıza, formları doldurmamıza ve düğmeleri tıklatmamıza izin verir.
Sonunda indir Selenyum Chrome Sürücü çalıştırılabilir, hangisi Google Chrome'u aç otomatik görevlerimizi gerçekleştirmek için gerektiği gibi. Chrome Sürücüsü, Google Chrome'u (zaten yüklü olması gerekir) açmanın bir yoludur. standart tarayıcı işlemlerine programlı olarak erişme.
Buradan en son ZIP dosyasını indirmeniz yeterlidir. chromedriver.exe
çalıştırılabilir ve yürütülebilir dosyayı herhangi bir dizine yerleştirin. Çalıştırılabilir bilgisayarınızın nerede olduğuna dikkat edin, çünkü Başladıktan sonra ihtiyacımız olacak.
Programın Başlatılması
Daha önce de belirtildiği gibi, Selenyum web otomasyonu çerçevesi amacıyla programlı olarak giriş yap. İlk iş emri her modülü içe aktar PIP ile ealier olarak kurduğumuz Selenium Python kütüphanesinden ihtiyacımız olacak.
IDLE veya başka bir kod düzenleyiciyi açalım, yeni bir Python dosyası oluştur ile .py
uzatma ve aşağıdaki modülleri içe aktar:
selenium'dan ithal webdriver selenium.webdriver.common.by'den ithal selenium.webdriver.support.ui'den ithalat WebDriverWait selenium.webdriver.support'tan ithalat import_conditions EC
Sonra, biz iki dizge oluştur bizim kullanıcı adı ve şifre e-posta hesabı için. Büyük harf kullanmaya özellikle dikkat edin.
usernameStr = 'putYourUsernameHere' passwordStr = 'putYourPasswordHere'
Şimdi oturum açma işlemini başlatmak için her şeyi ayarladık, aslında bir tarayıcı penceresi talimat vermemiz gerekiyor Google Chrome'u aç, ve Gmail’in giriş sayfasına gidin.
Henüz yapmadıysanız, Python komut dosyanızın doğru olduğundan emin olun. ile aynı yere kaydedildi chromedriver.exe
yürütülebilir daha önce ayıkladık.
browser = webdriver.Chrome () browser.get (('' https://accounts.google.com/ServiceLogin? "service = mail & devam = https: //mail.google" .com / mail / # tanımlayıcı '))
Öğemizi Bulmak
Tarayıcıyı Gmail’i açmak için başarıyla aldık, ancak şimdi yapmamız gerekiyor giriş alanlarını bulmak web sayfasında, içine kullanıcı adımızı ve şifrenizi giriniz.
Dahili Chrome Geliştirici Araçları'nı kullanarak bunu kolayca yapabiliriz. Sadece giriş alanlarına sağ tıklamamız ve “denetlemek” Menü.
Şimdi sadece meselesi HTML kullanarak İD
Öznitellikler Öğeleri programlı olarak bulmak.
Aşağıdaki kodda, biz basitçe kullanıcı adı giriş alanını arama İD
, ve dolduruyor İstediğiniz metinle O zaman biz İleri düğmesini aramak hangi şifre bize sormadan önce hızlı bir animasyon ile geçiş.
send_keys ()
ve ) (Tıklayın
komutları tam olarak isimlerinin önerdiği gibi yapar - send_keys ()
tuşlara basmayı taklit eder istenen öğede ve ) (Tıklayın
fare tıklaması benzetir.
# kullanıcı adını doldurun ve bir sonraki düğmeye basın username = browser.find_element_by_id ('E-posta') username.send_keys (usernameStr) nextButton = browser.find_element_by_id ('sonraki') nextButton.click ()
Yapabiliriz aynı şeyi yap Şifre giriş alanı için ve aynı zamanda Giriş butonuna basın. Ancak, bu iki öğe sayfada görünmektedir sadece sonra animasyonlu bir geçiş.
Yani, programa ihtiyacımız var dedi. birkaç saniye bekle öğeleri aramaya devam etmeden önce. Çoğunlukla, bu kod aşaması öncekinden farklı değildir. Tarayıcıya sadece talimat vermemiz gerekir maksimum 10 saniye bekleyin şifre girişini bulmadan önce.
# geçiş için bekleyin, sonra öğeleri doldurmaya devam edin password = WebDriverWait (tarayıcı, 10) .until (EC.presence_of_element_located ((By.ID, 'Passwd')))) password.send_keys (passwordStr) signInButton = browser.find_element_by_id ('signIn' ) signInButton.click ()
Son sözler
Yeni bitirdin bot oluşturma bu bir web sayfasını ziyaret eder, kullanıcı adınızı ve şifrenizi girer ve sizi başarıyla oturum açar., tüm sürecin otomatikleştirilmesi tek bir tıklama için. Bunun basit bir gösteri olduğunu biliyorum, ama olasılıklar sonsuz.
Aynı notta, dikkatli ol Bu beceriyi nasıl kullandığınızı. Bazı insanlar, çekilişe binlerce kez girmek için botları ve otomatik komut dosyalarını kullanır, şartlar ve koşulları tamamen göz ardı ederler. Diğerleri onları daha kötü niyetli niyetler için kullanır..
Sadece otomasyonu amaçlı ve dikkatli kullandığınızdan emin olun, çünkü çok ihtiyaç duyulan beceri programlama topluluğunda!
Editörün Notu: Bu Hongkiat.com tarafından yazılan bir yazıdır Malik Brahimi. Malik, Greater Boston bölgesinde bulunan bir geliştiricidir ve yemek, futbol ve programlamayı çok sever (favori dil Python).
- Kaynak İndir