我正在从10fastfingers.com编写机器人自动打字。可以。
我使用pytesseract库在pyautogui之后找到文本以按键。 我认为pyautogui.press不太快。
我正在找到pyautoguide.press之类的东西,但是速度很快。 像这个视频一样:https://vimeo.com/352072921
from PIL import Image
import pyautogui
import time
import cv2
import pytesseract
class Cordinates():
textbox = (80, 275)
replayBtn = (800,450)
whereitype = (250,460)
def restartGame():
pyautogui.click(Cordinates.replayBtn)
def main():
restartGame()
time.sleep(0.5)
pyautogui.click(Cordinates.whereitype)
while True:
pyautogui.screenshot('image.png')
img = cv2.imread("image.png")
crop_image = img[320:370, 80:940]
cv2.imshow("cropped", crop_image)
cv2.imwrite('cropped.png',crop_image)
text = pytesseract.image_to_string(crop_image, lang='eng')
for c in text:
print(c)
if c == 'enter':
c=' '
pyautogui.press(c)
if pyautogui.position() == (1, 1):
exit()
pyautogui.press(' ')
main()
答案 0 :(得分:1)
查看脚本https://github.com/asweigart/pyautogui/blob/master/pyautogui/init.py
默认情况下,pyautogui.press
使用模块中全局设置的0.1秒PAUSE
:
def press(keys, presses=1, interval=0.0, pause=None, logScreenshot=None, _pause=True):
"""Performs a keyboard key press down, followed by a release.
...
...
_autoPause(pause, _pause)
_autoPause:
def _autoPause(pause, _pause):
"""If `pause` is not `None`, then sleep for `pause` seconds.
If `_pause` is `True`, then sleep for `PAUSE` seconds (the global pause setting).
This function is called at the end of all of PyAutoGUI's mouse and keyboard functions. Normally, `_pause`
is set to `True` to add a short sleep so that the user can engage the failsafe. By default, this sleep
is as long as `PAUSE` settings. However, this can be override by setting `pause`, in which case the sleep
is as long as `pause` seconds.
"""
if pause is not None:
time.sleep(pause)
elif _pause:
assert isinstance(PAUSE, int) or isinstance(PAUSE, float)
time.sleep(PAUSE)
和PAUSE
:
PAUSE = 0.1 # The number of seconds to pause after EVERY public function call. Useful for debugging.
如您所见,press
中的暂停是否为None
(默认情况下,它会恢复为0.1秒的PAUSE
)。
您可以通过设置较低的暂停率来覆盖它。 pyautogui.press(c, pause = 0.05)