পাইথনের মাউস কার্সারটিকে কীভাবে নিয়ন্ত্রণ করতে হয়, অর্থাৎ এটি নির্দিষ্ট অবস্থানে নিয়ে যায় এবং উইন্ডোজ এর অধীনে ক্লিক করুন?
পাইথনের মাউস কার্সারটিকে কীভাবে নিয়ন্ত্রণ করতে হয়, অর্থাৎ এটি নির্দিষ্ট অবস্থানে নিয়ে যায় এবং উইন্ডোজ এর অধীনে ক্লিক করুন?
উত্তর:
উইনএক্সপি , পাইথন ২.6 ( আমার ক্ষেত্রে পাইওয়ুইন -2২-১14.উই।
import win32api, win32con
def click(x,y):
win32api.SetCursorPos((x,y))
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0)
click(10,10)
win32api.SetCursorPos((x,y))
win32api.mouse_event(win32con.MOUSEEVENTF_MOVE | win32con.MOUSEEVENTF_ABSOLUTE, int(x/SCREEN_WIDTH*65535.0), int(y/SCREEN_HEIGHT*65535.0))
গেমসের মতো অন্যান্য অ্যাপ্লিকেশনের সাথে আরও ভাল সংহতকরণের জন্য আমার অভিজ্ঞতায় প্রতিস্থাপন করা ভাল।
python3.x
কাজগুলিতেও পরীক্ষিত , উত্তরটি
পাইআউটোজিইউআই মডিউল দিয়ে চেষ্টা করুন । এটি মাল্টিপ্লাটফর্ম।
pip install pyautogui
এবং তাই:
import pyautogui
pyautogui.click(100, 100)
এটিতে অন্যান্য বৈশিষ্ট্যও রয়েছে:
import pyautogui
pyautogui.moveTo(100, 150)
pyautogui.moveRel(0, 10) # move mouse 10 pixels down
pyautogui.dragTo(100, 150)
pyautogui.dragRel(0, 10) # drag mouse 10 pixels down
সমস্ত উইন 32 আইকন স্টাফের মধ্য দিয়ে যাওয়ার চেয়ে এটি অনেক সহজ।
আপনি মাউস বা যে কোনও জিআইআই নিয়ন্ত্রণের জন্য উইন 32 এপিস ব্যবহার করতে win32api
বা ctypes
মডিউলটি ব্যবহার করতে পারেন
এখানে win32api ব্যবহার করে মাউস নিয়ন্ত্রণের একটি মজাদার উদাহরণ:
import win32api
import time
import math
for i in range(500):
x = int(500+math.sin(math.pi*i/100)*500)
y = int(500+math.cos(i)*100)
win32api.SetCursorPos((x,y))
time.sleep(.01)
টাইপ ব্যবহার করে ক্লিক করুন:
import ctypes
# see http://msdn.microsoft.com/en-us/library/ms646260(VS.85).aspx for details
ctypes.windll.user32.SetCursorPos(100, 20)
ctypes.windll.user32.mouse_event(2, 0, 0, 0,0) # left down
ctypes.windll.user32.mouse_event(4, 0, 0, 0,0) # left up
SetCursorPos
?
আর একটি বিকল্প হ'ল ক্রস-প্ল্যাটফর্ম অটোপাই প্যাকেজটি ব্যবহার করা । এই প্যাকেজের মাউসটি সরানোর জন্য দুটি পৃথক বিকল্প রয়েছে:
এই কোড স্নিপেট তাত্ক্ষণিকভাবে কার্সারকে অবস্থানে নিয়ে যাবে (200,200):
import autopy
autopy.mouse.move(200,200)
আপনি যদি পরিবর্তে কার্সারটি দৃশ্যমানভাবে কোনও নির্দিষ্ট স্থানে নিয়ে যেতে চান তবে আপনি স্মুথ_মোভ আদেশটি ব্যবহার করতে পারেন:
import autopy
autopy.mouse.smooth_move(200,200)
ক্রস প্ল্যাটফর্ম পাইমাউসটি দেখুন: https://github.com/pepijndevos/PyMouse/
tap space
এবং tap screen shot key
পাইউসওয়্যার ইনপুট ব্যবহার করে জানেন?
PyUserInput
ভাঙা। এটি ভালভাবে কাজ করে কি না তা বলতে পারি না কারণ ভাঙ্গা নির্ভরতার কারণে আমি এটি ইনস্টল করতেও পারি না।
from Xlib import X, display
d = display.Display()
s = d.screen()
root = s.root
root.warp_pointer(300,300)
d.sync()
Xlib.ext.xtest.fake_input(d, X.ButtonPress, 1); d.sync(); time.sleep(0.001); Xlib.ext.xtest.fake_input(d, X.ButtonRelease, 1); d.sync();
লক্ষ্য (আবেদনের উপর নির্ভর করে) প্রেস এবং রিলিজের মধ্যে ঘুম () কল প্রয়োজন হতে পারে বা নাও হতে পারে।
উইন্ডোজ এবং ম্যাক উভয়ের জন্য পাইপুট হ'ল সেরা সমাধান। প্রোগ্রাম করা সহজ, এবং খুব ভাল কাজ করে।
উদাহরণ স্বরূপ,
from pynput.mouse import Button, Controller
mouse = Controller()
# Read pointer position
print('The current pointer position is {0}'.format(
mouse.position))
# Set pointer position
mouse.position = (10, 20)
print('Now we have moved it to {0}'.format(
mouse.position))
# Move pointer relative to current position
mouse.move(5, -5)
# Press and release
mouse.press(Button.left)
mouse.release(Button.left)
# Double click; this is different from pressing and releasing
# twice on Mac OSX
mouse.click(Button.left, 2)
# Scroll two steps down
mouse.scroll(0, 2)
দ্রুত এবং নোংরা ফাংশন যা clicks
উইন্ডোজ 7-এ ctypes
লাইব্রেরিটি ব্যবহার করে যেখানেই ক্লিক করতে বামে থাকবে । কোনও ডাউনলোডের প্রয়োজন নেই।
import ctypes
SetCursorPos = ctypes.windll.user32.SetCursorPos
mouse_event = ctypes.windll.user32.mouse_event
def left_click(x, y, clicks=1):
SetCursorPos(x, y)
for i in xrange(clicks):
mouse_event(2, 0, 0, 0, 0)
mouse_event(4, 0, 0, 0, 0)
left_click(200, 200) #left clicks at 200, 200 on your screen. Was able to send 10k clicks instantly.
এর হিসাবে 2020 , আপনি ব্যবহার করতে পারেন মাউস :
import mouse
mouse.move("500", "500")
mouse.left_click()
বৈশিষ্ট্য
আপনি যদি মাউসটি সরাতে চান তবে এটি ব্যবহার করুন:
import pyautogui
pyautogui.moveTo(x,y)
আপনি যদি ক্লিক করতে চান তবে এটি ব্যবহার করুন:
import pyautogui
pyautogui.click(x,y)
আপনি যদি pyautogui
ইনস্টল না করে থাকেন , আপনার অবশ্যই সিএমডির সাথে পাইথন যুক্ত থাকতে হবে। সিএমডি যান এবং লিখুন:pip install pyautogui
এটি pyautogui
পাইথন ২.x এর জন্য ইনস্টল করবে।
পাইথন ৩.x এর জন্য আপনাকে সম্ভবত ব্যবহার করতে হবে pip3 install pyautogui
বা python3 -m pip install pyautogui
।
pyautogui.moveTo(x, y)
কারণ move()
কার্সারটিকে তার বর্তমান অবস্থার সাথে তুলনা করে।
moveTo()
একটি নিখুঁত স্থানে move()
চলে আসে।
অপর বিকল্প হ'ল মাউস লাইব্রেরি , আমি ব্যক্তিগতভাবে এটি ব্যবহার করি কারণ এটি তুলনামূলক সহজ এবং ক্রস প্ল্যাটফর্ম।
আপনি এটি কীভাবে ব্যবহার করতে পারেন তা এখানে:
import mouse
# move 100 right and 100 down with a duration of 0.5 seconds
mouse.move(100, 100, absolute=False, duration=0.5)
# left click
mouse.click('left')
# right click
mouse.click('right')
উত্সটি এখানে: পাইথনে আপনার মাউসকে কীভাবে নিয়ন্ত্রণ করবেন
গৃহীত উত্তরটি আমার পক্ষে কাজ করেছিল তবে এটি অস্থির ছিল (কখনও কখনও ক্লিকগুলি রেজিস্টার করতে পারে না) তাই আমি একটি অতিরিক্ত মাউসইভেন্টএফএলএফটিআপ যোগ করেছি । তারপরে এটি নির্ভরযোগ্যভাবে কাজ করছিল
import win32api, win32con
def click(x,y):
win32api.SetCursorPos((x,y))
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0)
click(10,10)
খুব সহজ 1- ইনস্টল প্যাকেজ:
pip install mouse
2- প্রকল্পে লাইব্রেরি যুক্ত করুন:
import mouse
3- উদাহরণস্বরূপ এটি ব্যবহার করুন:
mouse.right_click()
এই url এ আপনি এটি ব্যবহার করতে পারেন এমন সমস্ত ফাংশন বর্ণনা করে: