Если вы хотите работать с объектами, вы можете использовать Javascript ES6
class Test {
constructor() {
this.array = [];
}
addItem(item) {
this.array.push(item);
}
removeItem() {
this.array.splice(0, 1);
}
removeItemByIndex(index) {
this.array.splice(index, 1);
}
}
const test = new Test();
test.addItem('Some Item');
test.addItem('Some Item 2');
console.log(test.array);
test.removeItem();
console.log(test.array);
Протестировано на WinXP, Python 2.6 (также проверено 3.x) после установки pywin32 (в моем случае pywin32-214.win32-py2.6.exe):
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)
Принятый ответ работал на меня, но это было нестабильно (иногда, щелчки не будут regsiter), таким образом, я добавил еще MOUSEEVENTF_LEFTUP. Тогда это работало надежно
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)
Вы можете использовать модуль win32api
или ctypes
, чтобы использовать win32 apis для управления мышью или любым графическим интерфейсом
Вот забавный пример управление мышью с помощью 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)
Щелчок с использованием ctypes:
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
from Xlib import X, display
d = display.Display()
s = d.screen()
root = s.root
root.warp_pointer(300,300)
d.sync()
Источник: Мышь Python перемещается в 5 строках кода (только Linux) .