परिचय
माउस नियंत्रण, यूज़र इंटरफ़ेस के साथ ऑटोमेशन का एक महत्वपूर्ण पहलू है। चाहे वह ऑटो टेस्ट हों, स्क्रिप्ट्स, गेमिंग बॉट्स या ऑटोमेशन यूटिलिटीज़, कई कार्यों में प्रोग्रामेटिक रूप से पॉइंटर को हिलाना, क्लिक्स को सिम्युलेट करना और यूज़र एक्शन को कैप्चर करना ज़रूरी होता है। Python में इसके लिए mouse लाइब्रेरी बेहतरीन है।
mouse लाइब्रेरी माउस के साथ काम करने के लिए एक सरल और सीधा API प्रदान करती है: इवेंट ट्रैकिंग, क्लिक करना, मूवमेंट रिकॉर्ड करना और प्लेबैक। यह क्रॉस-प्लेटफ़ॉर्म डेवलपमेंट के लिए उपयुक्त है, इंस्टॉल करना आसान है, और इसका उपयोग अलग-अलग स्क्रिप्ट्स से लेकर जटिल RPA प्रोजेक्ट्स तक में किया जाता है।
mouse लाइब्रेरी की स्थापना और सेटअप
pip के माध्यम से स्थापना
pip install mouse
सिस्टम आवश्यकताएँ और अनुमतियाँ
Linux और macOS पर, एडमिनिस्ट्रेटर के रूप में चलाने या इनपुट नियंत्रण के लिए अनुमतियाँ देने की आवश्यकता हो सकती है।
Linux के लिए:
sudo pip install mouse
macOS के लिए: Security & Privacy → Accessibility सेटिंग्स में एक्सेस देना ज़रूरी है।
Windows के लिए: कुछ फ़ंक्शन को एडमिनिस्ट्रेटर अधिकारों के साथ चलाने की आवश्यकता हो सकती है।
आर्किटेक्चर और कार्य सिद्धांत
मुख्य घटक
mouse लाइब्रेरी कई प्रमुख घटकों से बनी है:
- Controller — कर्सर नियंत्रण और एक्शन एमुलेशन
- Listener — माउस इवेंट की निगरानी
- Recorder — मैक्रोज़ की रिकॉर्डिंग और प्लेबैक
- Event System — इवेंट प्रोसेसिंग सिस्टम
समर्थित प्लेटफ़ॉर्म
- Windows (Windows API के माध्यम से)
- macOS (Cocoa के माध्यम से)
- Linux (X11/Wayland के माध्यम से)
लाइब्रेरी की मुख्य क्षमताएँ
माउस एक्शन का एमुलेशन
mouse यूज़र एक्शन को कैप्चर करने (listener) और मूवमेंट व क्लिक्स को एमुलेट करने (controller) दोनों में काम करता है।
मुख्य फ़ंक्शन:
- बटन दबाने और छोड़ने की निगरानी
- कर्सर की स्थिति का पता लगाना
- प्रोग्रामेटिक क्लिक और स्क्रॉल
- कर्सर को हिलाना
- माउस हॉटकीज़
- मैक्रोज़ की रिकॉर्डिंग और प्लेबैक
इवेंट के प्रकार
लाइब्रेरी निम्नलिखित प्रकार के इवेंट को संभालती है:
- ButtonEvent — बटन दबाना/छोड़ना
- MoveEvent — कर्सर की गति
- WheelEvent — स्क्रॉल व्हील का घूमना
कर्सर नियंत्रण और पोज़िशनिंग
कर्सर को हिलाना
import mouse
# निरपेक्ष स्थिति निर्धारण
mouse.move(100, 200)
# सापेक्ष गति
mouse.move(50, 0, absolute=False)
# देरी के साथ सहज गति
mouse.move(300, 400, duration=1.0)
वर्तमान निर्देशांक प्राप्त करना
# कर्सर की स्थिति प्राप्त करना
x, y = mouse.get_position()
print(f"कर्सर बिंदु पर है: ({x}, {y})")
# शर्तों में उपयोग
if mouse.get_position()[0] > 500:
print("कर्सर स्क्रीन के दाईं ओर है")
क्लिक और एक्शन का एमुलेशन
क्लिक के मुख्य प्रकार
# बायाँ क्लिक
mouse.click('left')
mouse.left_click()
# दायाँ क्लिक
mouse.click('right')
mouse.right_click()
# मध्य क्लिक
mouse.click('middle')
mouse.middle_click()
# डबल क्लिक
mouse.double_click()
निर्देशांक पर क्लिक
# विशिष्ट निर्देशांक पर क्लिक
mouse.click('left', (300, 400))
# क्लिक से पहले स्थिति सहेजना
original_pos = mouse.get_position()
mouse.click('left', (100, 100))
mouse.move(*original_pos)