Python Selenium Modülü ile Sosyal Medya Giriş Botu

Selenium, farklı tarayıcılarda web uygulamalarını test etmek için kullanılan açık kaynaklı ve ücretsiz test aracıdır. Sürekli kendini tekrar eden testlerin manuel olarak yapılması ekstra iş yükü oluşturduğundan testleri otomatikleştirmek zaman kazanmamızı sağlayacaktır.

Test komutlarınızı oluşturmak için Python, Ruby, Java, .Net, C# gibi birden fazla programlama dili kullanabilirsiniz. Ben Python dilini kullanacağım.
İlk önce Selenium paketimizi Python programımıza dahil edelim.
import selenium
from selenium import webdriver
Bir sayfa tarayıcı tarafından yüklendiğinde, o sayfadaki öğeler farklı zaman aralıklarında yüklenebilir. bu sebepten Botumuzu sayfa geçişlerinde bekletmemiz gerekir bunun için Time paketini Python programımıza dahil ediyoruz.
import selenium
from selenium import webdriver
import time
Daha sonra driver örneğini oluşturalım. Ben ChromeDriver kullanacağım. ChromeDriver indirmek için tıklayınız.
Ben Linkedin sitesine giriş yapmak istediğim için url ‘i www.linkedin.com olarak tanımlıyorum.
driver.get yöntemi ile belirttiğimiz url’yi çağırıyoruz.
import selenium
from selenium import webdriver
import time
driver = webdriver.Chrome()
url = "https://www.linkedin.com/"
driver.get(url)
linkedin.com/home sayfası açıldığında login ekranına erişebilmek için Botumuza sağ üstte bulunan Oturum Aç butonuna tıklatmamız gerekiyor.
Oturum aç butonuna tıklayabilmek için find_element_by_xpath metodunu kullanıyorum.
import time
import selenium
from selenium import webdriver
driver = webdriver.Chrome()
url = "https://www.linkedin.com/"
driver.get(url)
oturum_ac  = driver.find_element_by_xpath("/html/body/nav/div/a[2]")
oturum_ac.click()
Oturum Aç sayfası açıldıktan sonra E-posta ve Parola bilgilerini girebilmek için find_element_by_name metodunu kullanıp mail adresimi ve şifremi gönderiyorum ardından Oturum açın butonuna tıklatıyorum.
import time
import selenium
from selenium import webdriver
driver = webdriver.Chrome()
url = "https://www.linkedin.com/"
driver.get(url)
driver.maximize_window()
oturum_ac  = driver.find_element_by_xpath("/html/body/nav/div/a[2]")
oturum_ac.click()
user_name = driver.find_element_by_name("session_key")
password = driver.find_element_by_name("session_password")
user_name.send_keys("mail@gmail.com")
password.send_keys("sifre")
login = driver.find_element_by_xpath("/html/body/div/main/div[2]/div[1]/form/div[3]/button")
login.click()
Sayfadaki öğeler farklı zaman aralıklarında yüklendiğinden sayfa geçişlerine time.sleep metodu ile bekleme süreleri tanımlıyorum ve botumuz aşağıdaki gibi tamamlanmış oluyor.
import time
import selenium
from selenium import webdriver
driver = webdriver.Chrome()
url = "https://www.linkedin.com/"
driver.get(url)
driver.maximize_window()
oturum_ac  = driver.find_element_by_xpath("/html/body/nav/div/a[2]")
oturum_ac.click()
time.sleep(1)
user_name = driver.find_element_by_name("session_key")
password = driver.find_element_by_name("session_password")
user_name.send_keys("mail@gmail.com")
password.send_keys("sifre")
login = driver.find_element_by_xpath("/html/body/div/main/div[2]/div[1]/form/div[3]/button")
login.click()
time.sleep(1)
profil  = driver.find_element_by_xpath("/html/body/div[8]/div[3]/div/div/div/div/div/div/div[1]/div[1]/a/div[2]")
profil.click()
time.sleep(5)
driver.close()
Çalıştırıyoruz..