求大佬赐一些使用python通过句柄操作win程序的学习资料
公司有很多JAVA的写的客户端老程序,获取对应数据库的数据只能通过客户端导出表的方式,我们没权限直接访问服务器。现在想用python做一个自动导出的脚本,目前没办法很好的直接抓取到菜单或程序窗口的句柄,后续用哪个库也摸不清。
请问各位大佬们能不能推荐几个这方面的学习教程、好用的句柄抓举工具和第三方库 nsaizl 发表于 2023-3-6 10:54
如果能够通过句柄来操作,直接定位到软件内部的菜单、按钮、窗口,适用性就会更强一些,程序也就更稳定一 ...
看看这个模块,代码通过本人亲测有效
from pywinauto import Application
app=Application().start("notepad.exe")
app["无标题-记事本"].MenuSelect("帮助->关于记事本")
app['关于"记事本"']["确定"].click()
filename="hello.dat"
app["无标题-记事本"].MenuSelect("文件->另存为...")
app["另存为"]["edit"].TypeKeys(filename)
app["另存为"]["保存"].click()
app.edit.TypeKeys("hello\n",with_newlines=True)
app.edit.TypeKeys("新的一行\n")
app.Notepad.MenuSelect("文件->退出")
app["记事本"]["保存"].click()
如果屏幕光标位置固定,可以使用pyautogui来操作 试试这个,http://taojy123.github.io/KeymouseGo/ wp231957 发表于 2023-3-6 10:06
如果屏幕光标位置固定,可以使用pyautogui来操作
尝试过,但有的屏幕分辨率不一样。还有的电脑会有广告弹窗……麻烦事很多 大裤衩子 发表于 2023-3-6 10:17
试试这个,http://taojy123.github.io/KeymouseGo/
这个和按键精灵类似啊,我想找一个能够根据下拉菜单句柄或者窗口内句柄来定位的东西。这样适用性更强一点。用图片或屏幕坐标定位点击的总感觉不踏实。 nsaizl 发表于 2023-3-6 10:45
这个和按键精灵类似啊,我想找一个能够根据下拉菜单句柄或者窗口内句柄来定位的东西。这样适用性更强一 ...
你要是把广告弹窗都考虑进去,那几乎就做不了自动化 wp231957 发表于 2023-3-6 10:47
你要是把广告弹窗都考虑进去,那几乎就做不了自动化
如果能够通过句柄来操作,直接定位到软件内部的菜单、按钮、窗口,适用性就会更强一些,程序也就更稳定一些。主要是想学习一下坐标和图片定位以外的另一种方法。 nsaizl 发表于 2023-3-6 10:54
如果能够通过句柄来操作,直接定位到软件内部的菜单、按钮、窗口,适用性就会更强一些,程序也就更稳定一 ...
本想推荐ctypes.windll的。。但注意到你说这些是Java客户端。。那如果这客户端没相应快捷键,那么基本只能靠鼠标定位 了。
不过,通过ctypes.windll.user32等API拿到这个客户端的 句柄,切换/激活这个客户端,应该是没问题的。你自己搜搜,研究一下吧。 也可以换个思路,抓包看看客户端和服务器之间咋传输,如果是常见的http的话。嘿嘿。 wp231957 发表于 2023-3-6 11:39
看看这个模块,代码通过本人亲测有效
正在尝试,感觉功能还不错,我多写一点试试看 阿奇_o 发表于 2023-3-6 13:28
本想推荐ctypes.windll的。。但注意到你说这些是Java客户端。。那如果这客户端没相应快捷键,那么基本只 ...
略微看了下资料……感觉超出我的能力了……有没有这个知识点比较入门的讲解? cflying 发表于 2023-3-6 16:28
也可以换个思路,抓包看看客户端和服务器之间咋传输,如果是常见的http的话。嘿嘿。
………………不会…… 如果会Java或者C#的话,可以试试大漠插件。 wuliangtdi 发表于 2023-3-7 15:47
如果会Java或者C#的话,可以试试大漠插件。
Python也可以调用大漠插件。
Python调用大漠插件
如果你想使用Python来自动化你的Java客户端程序,可能需要使用第三方库来实现自动化的功能。以下是一些常用的Python库和工具:
1. Pywinauto:一个用于自动化Windows应用程序的库,可以使用它来自动化你的Java客户端程序并模拟用户的操作。
2. AutoIt:一个用于Windows的免费自动化脚本语言和工具集,可以用它来模拟鼠标和键盘的操作,并对窗口进行控制。
3. SikuliX:一个开源自动化测试工具,可以用它来编写脚本来模拟用户操作。
4. PyAutoGUI:一个跨平台的自动化库,可以用它来模拟鼠标和键盘的操作,并可以捕捉屏幕上的图像以进行图像识别。
5. OpenCV:一个开源计算机视觉库,可以用它来进行图像处理和图像识别。
关于学习资源,这里有一些推荐:
1. Pywinauto官方文档:https://pywinauto.github.io/
2. AutoIt官方文档:https://www.autoitscript.com/autoit3/docs/
3. SikuliX官方文档:http://sikulix.com/docs.html
4. PyAutoGUI官方文档:https://pyautogui.readthedocs.io/en/latest/
5. OpenCV官方文档:https://docs.opencv.org/
希望这些信息对你有所帮助。
页:
[1]