我试图通过让python在ubuntu系统上为我点击鼠标来自动化一些cookie-clicker风格的游戏(在网站上)。点击部分运行正常,但我似乎无法用CTRL-C取消我的程序,因为浏览器窗口处于活动状态,因为我一直用移动鼠标点击它。现在我有一个定时解决方案,但那不是最佳选择。
这是我非常简单的代码:
from pymouse import PyMouse
from pymouse import PyMouseEvent
import time
from datetime import datetime
m = PyMouse()
x,y = m.position() #gets mouse current position coordinates
print x
print y
finish = datetime(2016, 3, 21, 14, 1)
print finish
while datetime.now() < finish:
for y in range(160,520,3):
time.sleep(0.005)
m.click(470,y,1)
我查看了PyMouse示例并找到了一个部分来通过右键单击来结束我的程序,但是如果我尝试将它结合起来,我似乎无法使它工作。
from pymouse import PyMouse
from pymouse import PyMouseEvent
import time
from datetime import datetime
class Clickonacci(PyMouseEvent):
def cookies(self):
m = PyMouse()
x,y = m.position() #gets mouse current position coordinates
print x
print y
finish = datetime(2016, 3, 21, 14, 41)
print finish
while datetime.now() < finish:
for y in range(160,520,3):
time.sleep(0.005)
m.click(470,y,1)
def __init__(self):
PyMouseEvent.__init__(self)
self.cookies()
def click(self, x, y, button, press):
if button == 2:
if press:
self.stop()
C = Clickonacci()
C.run()
这让我可以通过右键单击退出我的程序并打印初始鼠标坐标,但它不控制鼠标在给定位置点击自动。
也许拥有更多经验的人可以解开这个以使其有效?
编辑:
我通过pip install pymouse安装,不确定它是否与https://github.com/pepijndevos/PyMouse的版本相同
所以我正在寻找一种方法来终止我的程序,方法是右键单击鼠标或按某个键,即使我启动程序的终端窗口不是活动窗口。