π ΠΠ°ΠΊ ΡΠ·Π½Π°ΡΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΡΡΡΠΎΡΠ° Π½Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python? π±οΈ
ΠΠ°ΠΊ ΡΠ·Π½Π°ΡΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΡΡΡΠΎΡΠ° Π½Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠ΅ Π² Python?
Π Python Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ pyautogui
Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠΈΡ
ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΠΊΡΡΡΠΎΡΠ° Π½Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠ΅. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ:
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ
pyautogui
, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π΅ΡΠ΅ Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρpip install pyautogui
. - ΠΠΌΠΏΠΎΡΡΠΈΡΡΠΉΡΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ
pyautogui
Π² ΡΠ²ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. - ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ
position()
ΠΈΠ· ΠΌΠΎΠ΄ΡΠ»Ρpyautogui
Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠΈΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΠΊΡΡΡΠΎΡΠ° Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ(x, y)
.
import pyautogui
# ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠΈΡ
ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΠΊΡΡΡΠΎΡΠ°
x, y = pyautogui.position()
# ΠΡΠ²ΠΎΠ΄ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΠΊΡΡΡΠΎΡΠ°
print(f"Π’Π΅ΠΊΡΡΠΈΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΊΡΡΡΠΎΡΠ°: x = {x}, y = {y}")
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΈΡ ΡΠ°Π³ΠΎΠ² Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅ΠΊΡΡΠΈΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΊΡΡΡΠΎΡΠ° Π½Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠ΅ Π² Python.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΡΠ·Π½Π°ΡΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΡΡΡΠΎΡΠ° Π½Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ·Π½Π°ΡΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΡΡΡΠΎΡΠ° Π½Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python, ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²Π°ΡΠΈΡ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠ΅ΠΉ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΠΊΡΡΡΠΎΡΠ° Π½Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠ΅.
1. ΠΠΎΠ΄ΡΠ»Ρ PyAutoGUI
ΠΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΊΡΡΡΠΎΡΠ° Π½Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠ΅ - ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ PyAutoGUI. ΠΡΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ position(), ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΠΈΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΊΡΡΡΠΎΡΠ° Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°ΡΡ (x, y).
import pyautogui
# ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠΈΡ
ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΠΊΡΡΡΠΎΡΠ°
x, y = pyautogui.position()
# ΠΡΠ²ΠΎΠ΄ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ
print(f"Π’Π΅ΠΊΡΡΠΈΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΊΡΡΡΠΎΡΠ°: X = {x}, Y = {y}")
ΠΡΠΎΡ ΠΊΠΎΠ΄ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈ Π²ΡΠ²Π΅ΡΡΠΈ ΡΠ΅ΠΊΡΡΠΈΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΊΡΡΡΠΎΡΠ° Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ΅Π»Π΅ΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π½Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠ΅.
2. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ctypes
ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΊΡΡΡΠΎΡΠ° - ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ctypes. Ctypes ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΡΠ½ΠΊΡΠΈΡΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΡΡΡΠΎΡΠΎΠΌ.
import ctypes
# ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΠΊΡΡΡΠΎΡΠ°
class POINT(ctypes.Structure):
_fields_ = [("x", ctypes.c_ulong), ("y", ctypes.c_ulong)]
# ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠΈΡ
ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΠΊΡΡΡΠΎΡΠ°
cursor_position = POINT()
ctypes.windll.user32.GetCursorPos(ctypes.byref(cursor_position))
# ΠΡΠ²ΠΎΠ΄ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ
print(f"Π’Π΅ΠΊΡΡΠΈΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΊΡΡΡΠΎΡΠ°: X = {cursor_position.x}, Y = {cursor_position.y}")
ΠΡΠΎΡ ΠΊΠΎΠ΄ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅ΠΊΡΡΠΈΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΊΡΡΡΠΎΡΠ° ΠΈ Π²ΡΠ²Π΅ΡΡΠΈ ΠΈΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΡΠ½ΠΊΡΠΈΡΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ .
3. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° PyMouse
ΠΡΠ΅ ΠΎΠ΄Π½ΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΊΡΡΡΠΎΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ PyMouse. ΠΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΡΡΡΠΎΡΠΎΠΌ ΠΌΡΡΠΈ.
from pymouse import PyMouse
# ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° PyMouse
m = PyMouse()
# ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠΈΡ
ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΠΊΡΡΡΠΎΡΠ°
x, y = m.position()
# ΠΡΠ²ΠΎΠ΄ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ
print(f"Π’Π΅ΠΊΡΡΠΈΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΊΡΡΡΠΎΡΠ°: X = {x}, Y = {y}")
ΠΡΠΎΡ ΠΊΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ PyMouse Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠΈΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΠΊΡΡΡΠΎΡΠ° ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΈΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ. ΠΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° pip.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π’Π΅ΠΏΠ΅ΡΡ Ρ Π²Π°Ρ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΊΡΡΡΠΎΡΠ° Π½Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ Π΄Π»Ρ Π²Π°ΡΠΈΡ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠ΅ΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π² ΡΠ²ΠΎΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ . ΠΠ΅ Π·Π°Π±ΡΠ²Π°ΠΉΡΠ΅, ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΠΊΡΡΡΠΎΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ Π·Π°Π΄Π°Ρ ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.