提高 pyautogui.press 速度
Improve pyautogui.press speed
我正在为 10fastfingers.com 编写一个自动打字机器人。有效。
我正在使用 pytesseract 库查找文本,然后我使用 pyautogui 按键。
我承认pyautogui.press没那么快
而且我找到了类似 pyautoguide.press 但速度很快的东西。
喜欢this video
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()
查看脚本 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)
我正在为 10fastfingers.com 编写一个自动打字机器人。有效。
我正在使用 pytesseract 库查找文本,然后我使用 pyautogui 按键。 我承认pyautogui.press没那么快
而且我找到了类似 pyautoguide.press 但速度很快的东西。 喜欢this video
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()
查看脚本 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)