I've been looking for a solution for this, but seems its more specific than most answers
What im trying to do:
- Fix tkinter (or any other custom library) GUI freezing when the Pyppeteer process is called
What i tried:
- Tried to put Pyppeteer process into another thread, this gave me an error "Pyppeteer process can only be ran on main thread" There's my code:
import tkinter as tk
import asyncio
from pyppeteer import launch
class App(tk.Tk):
def __init__(app):
def start():
sessionCount = 1
login = 'login'
password = 'password'
asyncio.get_event_loop().run_until_complete(runSessions(login, password,sessionCount))
super().__init__()
app.geometry("400x400")
app.title("Test")
button = tk.Button(master=app,text="Start",command=start)
button.place(relx=0.45, rely=0.8)
async def sesionMaker(login, password):
browser = await launch(headless=False)
page = await browser.newPage()
await page.goto('any_page')
await page.type('#log_email', login)
await page.type('#log_password', password)
await page.click('button[type="submit"]')
async def runSessions(login, password, sessionCount):
for i in range(1, sessionCount + 1):
await sesionMaker(login, password)
if __name__ == "__main__":
app = App()
app.mainloop()
Any help appreciated.