Merhaba, selenium kütüphanesini kullanarak bir hesap oluşturucu yazdım başlat butonuna normal olarak 1 kez tıkladığımda oluşturucu() bölümünü çalıştırıyor ve sıkıntısız işlem görüyor ama butona 2-3 defa tıklayarak oluşturucu() bölümünü çalıştırdığımda aşağıdaki hatayı ekrana basıyor bir kaç araştırma yaptım ama bir sonuca çıkamadım yardımcı olursanız sevinirim.
HATA
Exception in thread Thread-2:
Traceback (most recent call last):
File "C:/Users/user/Desktop/Python/Account creator/test.py", line 52, in run
driver.get('https://tr.metin2.gameforge.com/landing/partner')
File "C:\Users\user\AppData\Local\Programs\Python\Python38-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 333, in get
self.execute(Command.GET, {'url': url})
File "C:\Users\user\AppData\Local\Programs\Python\Python38-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "C:\Users\user\AppData\Local\Programs\Python\Python38-32\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message: Timeout loading page after 15000ms
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\user\AppData\Local\Programs\Python\Python38-32\lib\threading.py", line 932, in _bootstrap_inner
self.run()
File "C:\Users\user\AppData\Local\Programs\Python\Python38-32\lib\threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "C:/Users/user/Desktop/Python/Account creator/test.py", line 66, in olusturucu
Thread(target=browser().proxy_change()).start()
File "C:/Users/user/Desktop/Python/Account creator/test.py", line 44, in proxy_change
self.run()
File "C:/Users/user/Desktop/Python/Account creator/test.py", line 56, in run
driver.quit()
File "C:\Users\user\AppData\Local\Programs\Python\Python38-32\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 209, in quit
self.service.stop()
File "C:\Users\user\AppData\Local\Programs\Python\Python38-32\lib\site-packages\selenium\webdriver\common\service.py", line 166, in stop
self.process.kill()
AttributeError: 'NoneType' object has no attribute 'kill'
KODLAR
import string
import random
import os
from threading import Thread
from tkinter import*
from threading import Thread
from PIL import Image, ImageTk, ImageOps
import time
from selenium import webdriver
page_load_time = 15
import pyperclip
def id_generator(args,size):
if args == "eposta":
return ''.join(random.choice(string.ascii_lowercase) for _ in range(size))
if args == "şifre":
return ''.join(random.choice(string.ascii_lowercase + string.digits + string.ascii_uppercase) for _ in range(size))
opts = webdriver.FirefoxOptions()
satır = -1
i = 1
bitis = False
class browser():
def proxy_change(self):
global satır, i, https_proxy, driver, bitis
satır += 1
i = 1
try:
with open("Proxyler.txt", "r") as h:
Line = h.readlines()
h.close()
https_proxy = Line[satır].strip()
except:
bitis = True
else:
webdriver.DesiredCapabilities.FIREFOX['proxy'] = {
"sslProxy": https_proxy,
"proxyType": "MANUAL"
}
self.run()
def run(self):
global driver
try:
driver = webdriver.Firefox(options=opts,
executable_path=r'C:\Users\user\Desktop\geckodriver.exe')
driver.set_page_load_timeout(page_load_time)
driver.get('https://tr.metin2.gameforge.com/landing/partner')
btn = driver.find_element_by_id('registerBtn').click()
except:
print(str(https_proxy) + " <- ip adresi çok yavaş tekrarlanıyor")
driver.quit()
self.proxy_change()
def olusturucu():
global i, driver, satır,https_proxy,bitis,baslat_resim,toplam_hesap
satır = -1
i = 1
bitis = False
toplam_hesap = 0
Thread(target=browser().proxy_change()).start()
while True:
try:
if bitis == False:
if i <= 5:
email = id_generator("eposta",14)
sifre = id_generator("şifre",12)
textbox_1 = driver.find_element_by_id('regEmail').get_property('value')
textbox_2 = driver.find_element_by_id('regPassword').get_property('value')
if (len(textbox_1) > 0 or len(textbox_2) > 0):
driver.find_element_by_id('regEmail').clear()
driver.find_element_by_id('regPassword').clear()
else:
print("Kullanılan ip -> " + str(https_proxy))
driver.find_element_by_id('regEmail').send_keys(email + '@gmail.com')
driver.find_element_by_id('regPassword').send_keys(sifre)
driver.find_element_by_xpath('/html/body/div[2]/div/div[2]/form/div[2]/button').click()
if driver.current_url.__contains__("download"):
try:
i = 1
toplam_hesap +=1
print("email:" + email + " sifre: " + sifre)
with open('Hesaplar.txt', 'a') as f:
f.write('\n' + 'email: ' + email + ' sifre: ' + sifre)
f.close()
driver.get('https://tr.metin2.gameforge.com/landing/partner')
btn = driver.find_element_by_id('registerBtn').click()
continue
except:
driver.quit()
browser().run()
continue
else:
print("Oluşturma " + str(i) + ' başarısız')
i += 1
continue
else:
driver.quit()
print(str(https_proxy) + " <- bloklu adres degiştiriliyor")
browser().proxy_change()
continue
else:
print("Proxy adresleri bitti!")
break
except:
driver.quit()
print("Debug: bir hata meydana geldi")
print("Debug: ip degiştiriliyor")
browser().proxy_change()
continue
if __name__ == '__main__':
gui = Tk()
gui.geometry("300x100")
frame = LabelFrame(gui,text="Hesap oluşturucu",padx=55,pady=25)
btnn = Button(frame,text="Başlat",command=lambda : Thread(target=olusturucu).start())
btnn.pack()
frame.pack(side=TOP)
gui.mainloop()