Closed wsfcsk closed 4 years ago
等回去测试下。。。
不过
print("开始点击") dm.RightDown() time.sleep(0.1) dm.LeftUp()
为什么RightDown下面接的是LeftUp呢……
这个是笔误哈,之前我用left click ,发现不行就把clcik 动作拆开试试
上个版本的left_click确实不太行, 检查了下Bug... 我重写了一下, 已经解决了. 测试代码(需要更新damo.py和my_time.py内容):
# 测试环境: win10, pycharm, python-32位
# 测试结果: 没有右键偶尔失灵问题了
import numpy as np
from damo import Mouse, DM
from my_time import tt
dm = DM()
ms = Mouse(dm)
y = 100
xs = np.arange(0, 1000, 30)[::-1] # 正序容易被右键菜单栏干扰,换倒序
xs
len(xs)
for x in xs:
if tt.stop('a'): break
tt.sleep(0.3)
# Down-Up模式
ms.click_right(x, y, 0.01)
# click模式
# ms.move_to(x, y)
# tt.sleep(0.01)
# dm.RightClick()
print('---------- End ------------')
经过测试,应该不是你封装时候的问题,而是大漠本身的问题 由于我只需要驱动级别的鼠标左键,我就没有用你封装的库,直接调用大漠自己的LeftClick 发现很不稳定,而且和当前的桌面显示的东西有关,如果当前是sublime这样的编辑器,就很稳定,一旦换到正常桌面就无法每次都触发右键,
如果在他触发之前,我手动右键一下,那么大漠的右键一定就可以被触发,真的是搞不懂
我用压左键和释放右键,问题同样存在。。。不懂了。。。
请问有没有大漠的说明文档我看看呢
谢谢
请问有没有大漠的说明文档我看看呢
谢谢
说明文档在文件夹中
封装的方法很简单的, 你可以修改damo.py文件中的left_click方法. 我这用的还算稳定.... 但好像dm.dll在按得太快的时候确实容易失灵.
你也可以换个按键模式试试. 在<大漠接口说明.CHW>里面
Hi 我研究好些天,终于了有了结论 1.大漠的单击确实会出问题,可以拆开Up 和Down 加sleep来实现 2.我之所以之前拆分也会失败,是因为测试代码有问题,在进行了单击以后需要再sleep一下,否则马上重新点击就会失败
最后,谢谢你的帮助
我发现一个很诡异的事情,不同的机器上的反应都不一样 不管是左键还是右键都会失效,
os.system('regsvr32 dm.dll /s') dm = Dispatch('dm.dmsoft')
time.sleep(10)
moveToX = 100 moveToY = 100 while moveToX <= 1000: print("当前位置",moveToX) print("开始移动") dm.MoveTo(moveToX,moveToY) print("移动结束") print("开始点击") dm.RightDown() time.sleep(0.1) dm.LeftUp()
dm.RightClick()
这是我的测试代码,我发现如果再桌面上,很多次都不会右键点击,但是move 会成功,如果我把鼠标放到sublmie 编辑器的前面,右键触发就会精准很多,但是还是会失效,但是一旦他右键,我这边用鼠标操作左键一次,他就会右键,然后我左键,他就继续右键,不会失败