python 模拟鼠标点击自动下载文件然后输出文件名
来源:互联网 发布:linux lnmp 编辑:程序博客网 时间:2024/05/05 11:44
import osimport timeimport socketimport mailto,subprocessdownloadDir = "I:\\Gamedownloader\\"exeDir= "j:\\POPO\\"def download(xunleiPath):exePath= exeDirexePath = exePath + xunleiPathprint exePathsubprocess.Popen(exePath)def click():import win32gui,win32api,win32conwin = win32gui.FindWindow('XLUEFrameHostWnd',None)print win(left,top,right,bottom) = win32gui.GetWindowRect(win)print leftwin32api.SetCursorPos((left+(right-left)-55,top+(bottom-top)-25)) #光标定位# 鼠标点击win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,0,0) time.sleep(0.05)win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,0,0)def downloadExe():I=os.listdir(exeDir) #os.path.isfile和os.path.isdir区分是文件还是目录for i in I:if 'tx3'==i[:3] and '_setup.exe'==i[7:]:xunleiPath = ireturn xunleiPathdef fileName():I=os.listdir(downloadDir)version=''for i in I:version=i[:10]print versionprint "version:%s" %versiondef kill(exeName):os.system('taskkill /f /im %s' %exeName) #关闭检查,exeName是进程名time.sleep(1)I=os.listdir(downloadDir)for targetFile in I:targetFile=os.path.join(downloadDir,targetFile)print targetFileprint os.path.isfile(targetFile) #这里需要注意,<span style="font-family: Arial, Helvetica, sans-serif;">targetFile一定要是整个路径加文件名,isfile()才起作用,不然的话,会造成它无论是isfile还是isdir都是返回false</span>print targetFile.find('tx-')print targetFile[18:21]if os.path.isfile(targetFile) and targetFile[18:21]=='tx-': os.remove(targetFile)if __name__ == "__main__":xunleiPath=downloadExe()download(xunleiPath)time.sleep(10)click()fileName()kill(xunleiPath)
如果出现ImportError: No module named win32api ,那是因为Python是没有自带访问windows系统API的库的,需要下载。库的名称叫pywin32,可以从网上直接下载。
链接地址可以下载:
http://sourceforge.net/projects/pywin32/files%2Fpywin32/ 注意看他的文档,下载相应文件。注意,一定要匹配你的python的32位或者64位。
获取应用程序窗口句柄,可以用spy++.exe,这个程序就集成在vs2010或者2012等。具体怎么操作,可以百度经验找spy++使用方法。这里我只能找到主窗口的句柄,但是找不到窗口里面某个button的句柄,后续需要在研究。
win = win32gui.FindWindow('XLUEFrameHostWnd',None)
FindWindow()第一个参数是窗口类名,第二个是窗口标题,两个填一个或者两个都行,程序会返回窗口句柄。更详细的信息,可以搜索。
subprocess.Popen(exePath)启动程序的方法
os.system('taskkill /f /im %s' %exeName) #关闭检查,exeName是进程名
os.path.isfile(targetFile) #这里需要注意,<span style="font-family: Arial, Helvetica, sans-serif;">targetFile一定要是整个路径加文件名,isfile()才起作用,不然的话,会造成它无论是isfile还是isdir都是返回false</span>
0 0
- python 模拟鼠标点击自动下载文件然后输出文件名
- python模拟鼠标点击
- Python模拟鼠标点击
- 鼠标自动点击 python版
- java swing 鼠标自动模拟点击事件
- Unity 模拟鼠标自动点击事件
- 使用Python来模拟鼠标的点击
- Python-pyautogui包-模拟鼠标点击
- 使用Python来模拟鼠标的点击
- js模拟用户多次点击下载文件
- 模拟鼠标点击事件
- 模拟鼠标点击
- Java模拟鼠标点击
- 实现模拟鼠标点击
- 模拟鼠标点击
- 模拟鼠标点击
- 模拟鼠标点击
- select鼠标模拟点击
- linux打开文件包含 "-"开头的文件
- 数据访问接口设计思考
- UITextField
- Practical Lessons from Predicting Clicks on Ads at Facebook
- 斯坦福网络数据集
- python 模拟鼠标点击自动下载文件然后输出文件名
- P123.32t 报数
- MySQL编码
- Andorid布局详解
- 大公司里怎样开发和部署前端代码?
- Unique Paths - LeetCode 62
- hdu2136 Largest prime factor
- 理解 Linux 的硬链接与软链接
- 解决Ubuntu上ADB devices找不到设备的问题