Programı biraz daha test ettim. Selenium tarayıcı üzerinde işlem yaparken tarayıcıyı kapatırsam driver da kapanıyordu ancak time.sleep(60) başladıktan sonra tarayıcıyı kapattığımda driver kapanmadı. O yüzden şöyle yaptım:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from tkinter import *
from threading import Thread
from subprocess import check_output
import time
import signal
import psutil
import os
def if_process_is_running_by_exename(exename='msedge.exe'):
for proc in psutil.process_iter(['pid', 'name']):
# This will check if there exists any process running with executable name
if proc.info['name'] == exename:
return True
return False
def find_pid(exename='msedgedriver.exe'):
for proc in psutil.process_iter(['pid', 'name']):
if proc.info['name'] == exename:
return proc.info['pid']
pencere = Tk()
pencere.geometry("800x850")
pencere.title("DENEME")
def driverkapat():
try:
while True:
if not if_process_is_running_by_exename():
os.kill(int(find_pid()), signal.CTRL_BREAK_EVENT)
time.sleep(1)
except:
pass
def seleniumkodu():
global driver
driver_path = "msedgedriver.exe"
driver = webdriver.Edge(driver_path)
driver.get("https://ebeyanname.gib.gov.tr/index.html")
time.sleep(2)
giriş_yap = driver.find_element_by_id("buton")
giriş_yap.click()
main_page = driver.current_window_handle
for handle in driver.window_handles:
if handle != main_page:
login_page = handle
driver.switch_to.window(login_page)
kullanıcı_kodu = driver.find_element_by_xpath('//*[@id="username"]')
parola = driver.find_element_by_xpath('//*[@id="password2"]')
şifre = driver.find_element_by_xpath('//*[@id="password1"]')
kullanıcı_kodu.send_keys("12345678")
parola.send_keys("aaaaaa")
şifre.send_keys("123456")
time.sleep(3)
giriş_yap2 = driver.find_element_by_xpath('//*[@id="loginForm"]/table/tbody/tr[5]/td/input')
giriş_yap2.click()
driverthread = Thread(target = driverkapat)
driverthread.start()
time.sleep(60)
driver.quit()
etiket1 = Label(pencere,text="A FİRMASI",font="Verdana 12", bg="red", fg="white",width=20)
#etiket1.pack(padx = 10, pady = 10, side = LEFT)
etiket1.place(x=2,y=10)
seleniumthread = Thread(target = seleniumkodu)
dugme1 = Button(pencere, text = "GİRİŞ", command = seleniumthread.start, bg = "blue", fg = "white",width=20)
#dugme1.pack(padx = 10, pady = 20, side = LEFT)
dugme1.place(x=10,y=50)
kodun çalışması için psutil modülüne ihtiyacınız olacak. cmd yi açın ve pip install psutil
yazıp çalıştırın.