zoukankan      html  css  js  c++  java
  • py库: pyautogui (自动测试模块,模拟鼠标、键盘动作)

    PyAutoGUI 是一个人性化的跨平台 GUI 自动测试模块

    pyautogui 库  2017-10-4

    pip install pyautogui

    python pip.exe install pyautogui      python3.6下,直接就可以安装了,无须其它依赖

    http://blog.csdn.net/astroboythu/article/details/78068070  (阅读)pyautogui库函数的基本介绍,python 捕捉和模拟鼠标键盘操作

    https://muxuezi.github.io/posts/doc-pyautogui.html  PyAutoGUI——让所有GUI都自动化,本教程译自大神Al Sweigart的PyAutoGUI项目,Python自动化工具,更适合处理GUI任务。

    (鼠标操作的一个很简单的练习)。以下文件是qq超市提升奢华度,往墙上挂装饰物用的。
    环境:1920x1080分辨率。把qq超市游戏的flash的最下一行,和浏览器的下边框对齐。游戏里 点“装潢”——》“墙上装饰”——》第五页的“天顶彩灯”,然后就可以运行python,往墙上挂装饰物了。

    # -*- coding: utf-8 -*-
    #coding=utf-8
    import pyautogui as pag
    screenWidth, screenHeight = pag.size()
    print(screenWidth,screenHeight)
    for i in range(60):
        print(i)
        pag.click(930, 987)
        pag.moveTo(930, 770, duration=0.2)
        pag.click(930, 770)

    我这机子是 win7 64位,python3.6的环境。

    本来关于鼠标键盘操作,原先是想用 PyUserInput 的,看了这篇文章 http://blog.csdn.net/shij19/article/details/53046048,说 PyUserInput模块安装前需要安装pywin32和pyHook模块。

    直接又装不上,到文中所述url下载.whl后,再安装,又有引用win32的错,反正也搞不清,不清楚版本还是哪里出了问题。不想再费事,于是又另外搜到 pyautogui这个库,一下就装上了,发现还很好用。主要用途是用来做测试的。

    2017-10-6更新,增加了随机数因子,以免被当作游戏作弊

    import pyautogui as pag
    import random
    #qq超市提高奢华度
    x0 = 930
    y0 = 985
    for i in range(20):
        print(i)
        x1 = x0 -5 + random.choice(range(10))   #增加了随机数因子,以免被当作作弊数据
        y1 = y0 -250 -5 + random.choice(range(10))
        pag.click(x0, y0)
        pag.moveTo(x1, y1, duration=0.2)
        pag.click(x1, y1)

    2019-8-30更新:wow保持挂机,不被暂离掉线:(2个窗口)

    隔一段时间,alt+tab切换窗口,按空格蹦一下:

    import pyautogui as pag
    import time
    import random
    
    time.sleep(2)
    
    def rdm(miao):
        return random.random() * miao
    
    def tabwin():
        time.sleep(60 + rdm(5))
        pag.keyDown('alt')
        pag.press(['tab'])
        pag.keyUp('alt')
        time.sleep(3 + rdm(2))
        return
    
    def run300():
        tabwin()
        pag.click(640, 540, 1, 0, 'left')   #点击屏幕左侧
        pag.typewrite(" ")
    
        tabwin()
        pag.click(1280, 540, 1, 0, 'left')   #点击屏幕右侧
        pag.typewrite(" ")
        return
    
    for i in range(360):
        print(i, time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
        run300()

      

    ..

  • 相关阅读:
    bootstrutp module 显示隐藏 模态框
    手机app传统邀请码安装与免邀请码安装区别,如何选择呢?
    好用的一些开源系统
    一个搞笑的招聘启事
    java和android及IOS对接RSA加密经验
    mysql大数据表改表结构方案
    android开发中监控android软件网络请求的软件Charles使用入门
    android IOC框架学习记录
    java分布式事务
    十八届三中全会的综合改革方案将涉及哪些内容?(转自知乎)
  • 原文地址:https://www.cnblogs.com/qq21270/p/7705008.html
Copyright © 2011-2022 走看看