티스토리 뷰
import os
import tkinter.ttk as ttk
import tkinter.messagebox as msgbox
from tkinter import * # __all__
from tkinter import filedialog
from PIL import Image
from click import command
import pyautogui
import sys
import time
import sys
import threading
# start_thead=0
from tkinter import *
import time
from threading import *
# Import Module
from tkinter import *
import time
from threading import *
# Create Object
timeout = 5
root = Tk()
root.title("이미지 자동 클릭")
Label(root, text="사용방법"). pack()
Label(root, text="클릭을 원하는 이미지 스크린숏 떠서 원하는 부분만 저장함"). pack()
Label(root, text="사진 찾기 버튼으로 사진 찾고 기다릴 시간 지정을 위해서"). pack()
Label(root, text="기다릴 초 입력하고 시간 지정 버튼 클릭"). pack()
Label(root, text="시작 버튼 누르면 시작되고, 정지는 정지, 종료는 종료"). pack()
global running0
global running1
running0 =True
running1 =True
# Set geometry
root.geometry("400x400")
def threading2():
# Call work function
t2=Thread(target=work 2)
t2.start()
# work function
def work 2():
global running0
running0=False
print("정지")
def threading3():
# Call work function
t3=Thread(target=work3)
t3.start()
# work function
def work3():
global running0
running0=False
print("종료")
root.quit()
# use threading
def threading1():
# Call work function
t1=Thread(target=work1)
t1.start()
# work function
def work1():
global timeout
timeout=int(e.get())
# while running1:
# i=1
# print(i, "work1")
# time.sleep(1)
# i+=1
# while running11:
# print(i*2, "work 4")
# # break
def threading0():
# Call work function
t0=Thread(target=work0)
t0.start()
# work function
def work0():
global timeout
while running0:
try:
start = time.time()
target = None
while target is None and running0: #여기서 엔드 조건 쓰면 어떨까?
target = pyautogui.locateOnScreen(path)
end = time.time()
if end - start > timeout:
print("못 찾음")
break
if target:
pyautogui.click(target)
print("클릭")
time.sleep(timeout)
print("기다림")
except:
continue
##############사진 찾기############
def add_file():
file = filedialog.askopenfile(mode='r', filetypes=[(("PNG 파일", "*. png"), ("모든 파일", "*.*"))])
if file:
filepath = os.path.abspath(file.name)
global path
path = filepath
file_frame = Frame(root)
file_frame.pack(fill="x", padx=5, pady=5) # 간격 띄우기
btn_add_file = Button(file_frame, padx=5, pady=5, width=12, text="사진 찾기", command=add_file)
btn_add_file.pack()
#########기다릴 시간
Label(root, text="기다릴 초 입력, 기본 5초"). pack()
e=Entry(root, width=30)
e.pack()
e.insert(0,5)
# Create Button
Button(root, text="시간 지정", command = threading1). pack()
Button(root, text="시작", command = threading0). pack()
Button(root, text="정지", command = threading2). pack()
Button(root, text="종료", command = threading3). pack()
# Button(root, text="stop2", command = threading2). pack()
root.mainloop()
사용법은 원하는 부분을 스샷 떠서 이미지파일로 만듭니다. 예를들어 화살표표시나 아님 공격 버튼 같은것을 클릭할수 있게 그 부분을 스샷떠서 저장하고 이미지를 업로드해서 클릭하게 하면 됩니다.