IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> pyautogui 语法记录+休闲辅助工具实现-2021.12.15 -> 正文阅读

[JavaScript知识库]pyautogui 语法记录+休闲辅助工具实现-2021.12.15

前言

? ? ? ? 近来,工作之余想整点小工具来提高划水效率,没错就是辅助划水的工具。工作累了休息一下,拿着手机刷视频呀,看一会小说呀,难免会被领导或者其他小伙伴发现,这样莫名的“摸鱼”称号不就非你莫属了么?工作累了休息一下抽根烟,刷个手机看看视频,玩会游戏放松一下这是人之常情,但是猪还是怕壮的,就算划水也得暗自理偷偷进行。

目的:

1、鼠标识别电脑桌面的像素

2、用电脑刷抖音,按回车键刷下一条抖音。同时记录观看的抖音次数和观看的时长。

开发工具:pychram ,调用类:pyautogui?

辅助工具:夜神模拟器

pyautogui官方解读文档:https://pyautogui.readthedocs.io/en/latest/

一、pyautogui基础语法运用

1.鼠标命令

import pyautogui

pyautogui.click                                           #固定指定位置点击鼠标一次    button 单击属性
pyautogui.click(100,150,button='left')                 #点击鼠标左键一次
pyautogui.click(100,150,button='middle')               #点击鼠标中间键一次
pyautogui.click(100,150,button='right')                #点击鼠标右键一次
pyautogui. mouseDown()                                    #鼠标左键按下
pyautogui. mouseUp()                                      #鼠标右键弹起
pyautogui.dragTo()                                        #鼠标按住拖动绝对位置
pyautogui.dragRel()                                       #鼠标按住拖动相对位置

pyautogui.doubleClick()  #鼠标双击左键
pyautogui.rightClick()   #鼠标双击右键
pyautogui.middleClick()  #鼠标双加中间键
pyautogui.scroll()  #中间滚轮,上下滚动,
#正数是向上滚动,负数是向下滚动
 
pyautogui.moveTo      #将鼠标箭头移到,指定,绝对位置
pyautogui.moveRel     #将鼠标箭头移到,相对位置

花样移动:2秒移动时长,移动样式,通用
pyautogui.moveTo(100, 100, 2, pyautogui.easeInQuad)     # 开始慢,结束快
pyautogui.moveTo(100, 100, 2, pyautogui.easeOutQuad)    # 开始快,结束慢
pyautogui.moveTo(100, 100, 2, pyautogui.easeInOutQuad)  # 开始和结束快,中间慢
pyautogui.moveTo(100, 100, 2, pyautogui.easeInBounce)   # 最后反弹
pyautogui.moveTo(100, 100, 2, pyautogui.easeInElastic)  # 末端橡皮筋

pyautogui.position    返回值确定鼠标当前的位置

2.键盘命令

import pyautogui

pyautogui.hotkey('ctrl', 'c')  # 热键组合输入

# 'a', 'b', 'c', 'A', 'B', 'C', '1', '2', '3',  '!', '@', '#',等等单个字符的键
pyautogui.typewrite('yin')  # 其他键输入,依次类推,直接输入对应单词

pyautogui.keyDown()  # 按下一个键不放
pyautogui.keyUp()  # 弹起按下不放的键

3、图像识别截图

import pyautogui
#判定目标截图在系统上的位置
location=pyautogui.locateOnScreen(image='target.png')
#输出坐标
print(location)
#利用center()函数获取目标图像在系统中的中心坐标位置
x,y=pyautogui.center(location)
print('center()',x,y)

#对识别出的目标图像进行点击
#参数x,y代表坐标位置,clicks代表点击次数,button可以设置为左键或者右键
pyautogui.click(x=x,y=y,clicks=1,button='left')

>>> import pyautogui
>>> im1 = pyautogui.screenshot()
>>> im2 = pyautogui.screenshot('my_screenshot.png')

二、项目的实现

1、鼠标识别电脑桌面的像素

import time
import datetime

import pyautogui as pg
#坐标识别器
print('print ctrl+c to quiet')
try:
    while True:
        x,y = pg.position()
        positionStr = 'x:'+str(x).rjust(4) + 'y:'+str(y).rjust(4)
        print(positionStr,end='')
        print('\b' * len(positionStr),end='',flush=True)
except KeyboardInterrupt:
    print('\n')

保存代码,通过cmd运行即:

鼠标移动到哪里打印出哪里的界面坐标

2、用电脑刷抖音,按回车键刷下一条抖音,同时记录观看的抖音次数和观看的时长。

# -*- coding: <encoding name> -*- : # -*- coding: utf-8 -*-
import time
import datetime
from selenium import webdriver
import random
import win32con
import win32api
import pyautogui as pg


def RunTest():
    #移动到右下角进行抖音操作滑动(夜神模拟器小界面移动到界面右下角)
    pg.moveTo(1740, 740)
    time.sleep(2)
    pg.dragTo(1740, 540)
    time.sleep(0.5)
    #返回cmd输入继续操作空格(cmd窗口设置于界面左上方固定好)
    pg.moveTo(50, 100)
    time.sleep(1)
    #点击输入框
    pg.click()

start = datetime.datetime.now()
for i in range(100):
    SM = i + 1
    print('今日刷新次数:'+str(SM))
    number = input('请按空格键:')
    if number != str(1):
        print("-----------------開始運行------------------")
        RunTest()
    else:
        end = datetime.datetime.now()
        print('今日总观影次数为:%d 運行時間: %s' % (SM, end-start))
        break

?

效果实现:

如上即可以通过键盘控制鼠标进行滑动,就按一下回车就切换到下一个视频,输入1即可打印出刷新的总条数和放松的时间,当然也可以修改一下代码,30秒内自动滑动视频。

3、工具升级,自动打开夜神模拟器,打开抖音,并且休息完后自动关闭软件,神不知鬼不觉的进行这些操作;

# -*- coding: <encoding name> -*- : # -*- coding: utf-8 -*-
import time
import datetime
import os
from selenium import webdriver
import random
import win32con
import win32api
import pyautogui as pg


def RunTest():
    #移动到右下角进行抖音操作滑动
    pg.moveTo(1740, 740)
    time.sleep(2)
    pg.dragTo(1740, 540)
    time.sleep(0.5)
    #返回cmd输入继续操作空格
    pg.moveTo(50, 100)
    time.sleep(1)
    #点击输入框
    pg.click()
#启动夜神浏览器
win32api.ShellExecute(0, 'open', r'D:\Program Files\Nox\bin\nox.exe', '','',1)
print("等待啓動:")
time.sleep(15)
start = datetime.datetime.now()
for i in range(100):
    SM = i + 1
    print('今日刷新次数:'+str(SM))
    number = input('请按空格键:')
    if number != str(1):
        print("-----------------開始運行------------------")
        RunTest()
    else:
        end = datetime.datetime.now()
        #打印播放的抖音数和休息时间
        print('今日总观影次数为:%d 運行時間: %s' % (SM, end-start))
        time.sleep(5)
        #终止夜神浏览器软件
        os.system("taskkill /F /IM nox.exe")
        break

这样的话代码逻辑就已经实现了

????????这个工具目前对于我是够用了,那么还有兴趣的小伙伴可以再完善一下工具,比如图像识别定位自动在模拟器上打开app,或者关闭app等,但这里运用的是模拟器非Windows系统桌面所以pyautogui的图像识别无法运用,但可以结合appium进行脚本优化。^——^

? ? ? ? 有好的建议欢迎各位大佬指点。

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-12-18 15:53:03  更:2021-12-18 15:54:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:19:32-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码