pyautogui应用:CiTdxWQidong.py(自动 启动程序至多屏目标位置)

# -*- coding: utf-8 -*-

'''
2019/07/30星期二
继续深入:
pywin32模块:  窗口、鼠标键盘、文件、进程等控制

2019/07/29星期一
深入:
一、多屏定位(已解决,解决方案通过pygetwindow模块窗口控制实现)
TdxW在非主屏最小化关闭 后 重新启动即无法定位。
关注pypi动态 

二、自动数据下载(已解决,解决方案通过pygetwindow模块窗口移动实现)
专业财务数据 的 事件判定 后无法定位 开始下载 问题

三、自动退出系统(已解决,同上)
多屏定位问题

'''




#封装函数  自动启动TdxW

import pyautogui
import time


def citdxwqidong(TdxW,N):

    pyautogui.FAILSAFE=False    #True添加失控保险  鼠标指向左上角
    pyautogui.PAUSE=1           #添加暂停时间 作用于每一个pyautogui方法  即方法执行后暂停0.5秒

    screenX,screenY = pyautogui.size()
    AX,AY = screenX/2,screenY/2
#    X1,Y1=AX,AY
    X2,Y2=0,-screenY
    X3,Y3=-screenX,-screenY
    X4,Y4=screenX,-screenY
    X5,Y5=-screenX,0
    X6,Y6=screenX,0
    X7,Y7=-screenX/2,-screenY*2
    X8,Y8=screenX/2,-screenY*2
    
    if N==1:
        NX,NY=0,0
    elif N==2:
        NX,NY=X2,Y2
    elif N==3:
        NX,NY=X3,Y3
    elif N==4:
        NX,NY=X4,Y4
    elif N==5:
        NX,NY=X5,Y5
    elif N==6:
        NX,NY=X6,Y6
    elif N==7:
        NX,NY=X7,Y7
    elif N==8:
        NX,NY=X8,Y8
    else:
        print('屏幕{}不存在,程序退出'.format(str(N)))
        exit()
    
        

    #打开屏幕上主程序
    XTdxW,YTdxW=pyautogui.center(pyautogui.locateOnScreen(TdxW,grayscale=True))
    pyautogui.click(XTdxW,YTdxW,clicks=2,duration=1,tween=pyautogui.easeInOutQuad)
     
    #登陆主程序
    while not(pyautogui.locateOnScreen('TdxW定位图片/101免费精选行情登陆.png',grayscale=True)):
        time.sleep(0.01)
    pyautogui.click('TdxW定位图片/101免费精选行情登陆.png',clicks=1,duration=1,tween=pyautogui.easeInOutQuad)
    pyautogui.press('enter')  

    while pyautogui.locateOnScreen('TdxW定位图片/102登陆.png',grayscale=True):
        pyautogui.click('TdxW定位图片/102登陆.png',clicks=1,duration=0.25,tween=pyautogui.easeInOutQuad)
    


    
    
    #循环关闭所有信息、所有广告  
    
    #尝试捕捉所有广告X号关闭 (双重保险作用于关闭广告)
    while not(pyautogui.locateOnScreen('TdxW定位图片/103广告关闭.png',grayscale=True)):
        time.sleep(0.01)
        
        
    for Box103 in pyautogui.locateAllOnScreen('TdxW定位图片/103广告通达信信息.png',grayscale=True):
        try:
            pyautogui.click('TdxW定位图片/103广告关闭.png',clicks=1,duration=1,tween=pyautogui.easeInOutQuad)
            pyautogui.moveRel(0,-100,duration=0.5,tween=pyautogui.easeInOutQuad)
            pyautogui.click('TdxW定位图片/103广告关闭_1.png',clicks=1,duration=1,tween=pyautogui.easeInOutQuad)
        except:
            time.sleep(0.5)
            pass

    #尝试去关闭所有信息页面 (103广告关闭_1.png  为选中变色的X号)
    while pyautogui.locateOnScreen('TdxW定位图片/103广告关闭.png') or pyautogui.locateOnScreen('TdxW定位图片/103广告关闭_1.png'):
        try:
            pyautogui.click('TdxW定位图片/103广告关闭.png',clicks=1,duration=0.5,tween=pyautogui.easeInOutQuad)
            pyautogui.moveRel(0,-100,duration=0.5,tween=pyautogui.easeInOutQuad)
            pyautogui.click('TdxW定位图片/103广告关闭_1.png',clicks=1,duration=0.5,tween=pyautogui.easeInOutQuad)
        except:
            time.sleep(0.25)
            pass
#        
#    while pyautogui.locateOnScreen('TdxW定位图片/103广告关闭_1.png'):
#        try:
#            pyautogui.click('TdxW定位图片/103广告关闭.png',clicks=1,duration=1,tween=pyautogui.easeInOutQuad)
#            pyautogui.click('TdxW定位图片/103广告关闭_1.png',clicks=1,duration=1,tween=pyautogui.easeInOutQuad)
#        except:
#            pass



    while not(pyautogui.locateOnScreen('TdxW定位图片/105拖动屏中.png') or pyautogui.locateOnScreen('TdxW定位图片/105拖动屏中_MAX.png')):
        try:
            pyautogui.click('TdxW定位图片/103广告关闭.png',clicks=1,duration=1,tween=pyautogui.easeInOutQuad)
            pyautogui.click('TdxW定位图片/103广告关闭_1.png',clicks=1,duration=1,tween=pyautogui.easeInOutQuad)
        except:
            pass
    #最大最小化处理
    try:
        pyautogui.click('TdxW定位图片/104最大化_取消.png',clicks=1,duration=1,tween=pyautogui.easeInOutQuad)
        pyautogui.moveTo('TdxW定位图片/105拖动屏中.png',duration=0.5,tween=pyautogui.easeInOutQuad)
    except:
        pyautogui.moveTo('TdxW定位图片/105拖动屏中.png',duration=0.5,tween=pyautogui.easeInOutQuad)
            
    #定点A屏正中
    pyautogui.dragTo(AX,AY,duration=1,tween=pyautogui.easeInOutQuad)
    
    #拖动至相对定位坐标
    pyautogui.drag(int(NX),int(NY),duration=2,tween=pyautogui.easeInOutQuad)
    pyautogui.click(clicks=2)
    
    
    

if __name__ == '__main__':
     
    citdxwqidong('TdxW定位图片/08TdxW.png',8)
    citdxwqidong('TdxW定位图片/07TdxW.png',7)
    citdxwqidong('TdxW定位图片/06TdxW.png',6)
    citdxwqidong('TdxW定位图片/05TdxW.png',5)
    citdxwqidong('TdxW定位图片/04TdxW.png',4)
    citdxwqidong('TdxW定位图片/03TdxW.png',3)
    citdxwqidong('TdxW定位图片/02TdxW.png',2)
#    citdxwqidong('TdxW定位图片/01TdxW.png',1)
    




  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值