Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 富硒冷冻法_Python_Multithreading_Selenium_Tkinter - Fatal编程技术网

Python 富硒冷冻法

Python 富硒冷冻法,python,multithreading,selenium,tkinter,Python,Multithreading,Selenium,Tkinter,按下关闭按钮时,窗口冻结几秒钟。 在这个过程中,我使用线程来调用一个主函数(selenium) 此外,我使用了window.update(),但结果是一样的 按下按钮时,如何使车窗流畅 from tkinter import * import threading import time from selenium import webdriver gdriver=None class Task(threading.Thread): def __init__(self,name,n

按下关闭按钮时,窗口冻结几秒钟。 在这个过程中,我使用线程来调用一个主函数(selenium)

此外,我使用了window.update(),但结果是一样的

按下按钮时,如何使车窗流畅

from tkinter import *
import threading
import time
from selenium import webdriver

gdriver=None

class Task(threading.Thread):

     def __init__(self,name,namefunc):
         threading.Thread.__init__(self,target=namefunc,name=name,daemon=True)

         threads=list(filter(lambda x: type(x) is Task,threading.enumerate()))

         if len(threads) == 0:
             self.start()
             print("{} Running...".format(self.getName()))
         else:
             print("Wait...")
             label.configure(text="Thread exist!")



def processStart():
    global gdriver
    label.configure(text="Process ON")
    driver=webdriver.Chrome()
    gdriver=driver
    driver.get("https://www.google.com")
    time.sleep(5)
    driver.quit()
    print("Done...")


def close_app():
    threads=[x for x in list(filter(lambda x : x.is_alive() and type(x) is Task,threading.enumerate()))]
    print("Threads: {}".format(threads))
    if len(threads) > 0:
      while True:
        if gdriver:
            print("Close browser....")
            gdriver.quit()
            break
    else:
        if gdriver:
            gdriver.quit()
    print("Close window...")
    window.destroy()
    sys.exit()


if __name__=='__main__':

    window=Tk()
    window.title("App Sample")
    window.geometry("300x200")
    label =Label(window, text="Process OFF")
    label.pack(fill = X)
    button=Button(window,text="Start", command=lambda : Task("Thread 1", processStart))
    buttonQuit=Button(window, text="Close", command=close_app)
    button.pack(fill=X)
    buttonQuit.pack(fill=X)
    window.mainloop()
“退出按钮”:没有这样的
按钮
,您的意思是
“关闭”
按钮
?“冻结几秒钟”:是的,读