2023-12-27 Python PC获取鼠标位置,移动鼠标到相应的位置 定时自动模拟鼠标点击,用于简单测试app用

发布时间:2023年12月28日

一、核心源码如下:

import pyautogui
import time

pyautogui.moveTo(600, 800)
for i in range(20):
    time.sleep(0.1)
    x, y = pyautogui.position()
    print("mouse position:", x, y)
    pyautogui.click()

二、定时自动模拟鼠标点击,模拟键盘按键

import pyautogui
import datetime
import time
import os
import win32gui,win32con
from win32 import win32api, win32gui, win32print
from win32.lib import win32con
import math
from colorama import Fore,Back,Style
import psutil
import tkinter as tk
import pygetwindow


mem = psutil.virtual_memory()
# 系统总计内存
zj = float(mem.total) / 1024 / 1024 / 1024
# 系统已经使用内存
ysy = float(mem.used) / 1024 / 1024 / 1024

# 系统空闲内存
kx = float(mem.free) / 1024 / 1024 / 1024

R =float(mem.used) * 100 / float(mem.total)
"""获取真实的分辨率"""
hDC = win32gui.GetDC(0)
width = win32print.GetDeviceCaps(hDC, win32con.DESKTOPHORZRES)  # 横向分辨率
height = win32print.GetDeviceCaps(hDC, win32con.DESKTOPVERTRES)  # 纵向分辨率
print(width)
print(height)

window = tk.Tk()
hwnd_title = {}

def get_all_hwnd(hwnd, mouse):
    if (win32gui.IsWindow(hwnd)
            and win32gui.IsWindowEnabled(hwnd)
            and win32gui.IsWindowVisible(hwnd)):
        hwnd_title.update({hwnd: win32gui.GetWindowText(hwnd)})

win32gui.EnumWindows(get_all_hwnd, 0)
for h, t in hwnd_title.items():
    if t :
        print (h, t)


def setWindowTopmost(hwnd):
    '''将某个窗口设置为置顶窗口'''
    win32gui.SetWindowPos(hwnd, win32con.HWND_TOPMOST, width-350,height-175,350,119, win32con.SWP_SHOWWINDOW)
    #win32gui.SetWindowPos(hwnd,win32con.HWND_TOPMOST,0,0,45,3,win32con.SWP_NOSIZE|win32con.SWP_NOMOVE)

#hwnd = win32gui.FindWindow(None,"Windows PowerShell")
#if hwnd != 0:
        #setWindowTopmost(hwnd)

#os.popen('mode con cols=50 lines=3')
win = pygetwindow.getWindowsWithTitle('Py')[0]
win.size = (350, 119)
number=100

#pyautogui.moveTo(0,100)
while True:
    #pyautogui.press('capslock')
    #pyautogui.press('numlock')
    #hwnd = win32gui.FindWindow(None,"Windows PowerShell")
    #setWindowTopmost(hwnd)
    #win32gui.SetWindowPos(hwnd, win32con.HWND_TOPMOST, 0, 0, 0, 0,win32con.SWP_NOMOVE | win32con.SWP_NOACTIVATE |win32con.SWP_NOOWNERZORDER | win32con.SWP_SHOWWINDOW | win32con.SWP_NOSIZE)
    time.sleep(1.0)
    os.system('cls')
    current_time = datetime.datetime.now()
    timestamp = current_time.strftime('%Y-%m-%d %H:%M:%S')
    timestamp = timestamp + '.'+str(current_time.microsecond)[0:3]
    #print("" + str(timestamp))
    x, y = pyautogui.position()
    print("mouse position:", x, y)
    if number > 12:
       pyautogui.press('numlock')
       win.moveTo(width-350, height-175-number)
       time.sleep(0.9)
       win.moveTo(width-350, height-175)
       number=0
       pyautogui.moveTo(1212, 676)
       pyautogui.click()
    else:
       number=number+1
       
    print (Fore.GREEN + str(timestamp) + " Memory:",'%d%%' % R)




三、参考文章

Python中鼠标的位置获取方法_笔记大全_设计学院

用Python制作一个自动点击器,三种模块都可以_鼠标自动点击脚本-CSDN博客

文章来源:https://blog.csdn.net/qq_37858386/article/details/135251267
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。