<p>你好,我的目标是能够让我的机器人在任何屏幕大小上点击我选择的东西,因为我认为这是主要问题。我试着降低自信水平,但结果只是点击了其他颜色相同的东西。我用一张精确的图像对它进行了测试,它点击了正确的点,所以它不像坐标被关闭了,或者其他什么,它只是图像识别</p>
<p>这些都是可以参考的图像</p>
<p>(X1,NextLesson,箭头)
<a href="https://i.stack.imgur.com/i8hjw.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/i8hjw.png" alt="X1"/></a>
<a href="https://i.stack.imgur.com/JGkVn.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/JGkVn.png" alt="NextLesson"/></a>
<a href="https://i.stack.imgur.com/70IDx.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/70IDx.png" alt="Arrow"/></a></p>
<pre><code>from pyautogui import *
import pyautogui
import time
import keyboard
import random
def NextLesson():
keepGoing = True
while keepGoing == True:
counter = 0
nl_coordinates = pyautogui.locateOnScreen('images/nextLesson.png', confidence=0.4)
print(nl_coordinates) # This will print out where it is
if nl_coordinates:
print(f"I can see it at {nl_coordinates}")
pyautogui.click(nl_coordinates)
keepGoing = False
else:
print("I cannot see it.")
def Arrow():
keepGoing = True
while keepGoing == True:
counter = 0
arrow_coordinates = pyautogui.locateOnScreen('images/arrow.png', confidence=0.4)
print(arrow_coordinates) # This will print out where it is
if arrow_coordinates:
print(f"I can see it at {arrow_coordinates}")
pyautogui.click(arrow_coordinates)
keepGoing = False
else:
print("I cannot see it.")
def X1():
keepGoing = True
while keepGoing == True:
counter = 0
x1_coordinates = pyautogui.locateOnScreen('images/x1.png', confidence=0.4)
print(x1_coordinates) # This will print out where it is
if x1_coordinates:
print(f"I can see it at {x1_coordinates}")
pyautogui.click(x1_coordinates)
keepGoing = False
else:
print("I cannot see it.")
while True:
counter = 0
counter2 = 0
true = True
time.sleep(2)
X1()#
time.sleep(8)
NextLesson()#
time.sleep(10)
Arrow()#
print("calibration complete ")
time.sleep(5)
cords = pyautogui.position()
while counter != 1800:
time.sleep(60)
pyautogui.click(cords) #clicking where ouse is at
print("clicked")
counter += 60
print(counter)
if counter == 1800:
time.sleep(5) #stops code for 5 secs
X1() #clicks mouse to x button
print("clicked x")
time.sleep(5) #stops code for 5 secs
NextLesson() #clicks mouse to the assignment button
print("clicked assignemnt")
time.sleep(15) #stops code for 2 secs
Arrow() #clicks mouse to the second assignment button
print("clicked 2nd assignment button ")
time.sleep(5) #waits 5secs to put cursor at position
cords = pyautogui.position() #grabs position
print("grabbed position")
</code></pre>