使用Python进行应用信息代填

#前言

本文主要介绍通过python程序启动应用,并且通过参数配置,实现启动应用的同时,可以自动填入需要登录的账号、需要填写的资源信息等操作,不需要再手动填写。通过python实现自动化代填应用。

一、依赖库

首先介绍代填操作需要用到的python依赖库,根据系统类型,大致分为Linux和Windows两种:

1. Linux

import os
import time
from pymsgbox import alert
import pyautogui
import pyperclip

 其中,和界面操作有关的主要是pyautogui、pyperclip两个依赖库。

其他的依赖,例如time、alert 则是不重要的,可有可无的依赖,只是为了程序更好的运行和效果。

二、相关API 

其中关乎界面最主要的几个api如下:

pyautogui.press('tab')  // 模拟使用键盘按下tab键
pyautogui.hotkey('ctrl', 'v')  // 模拟键盘使用快捷键 ctrl + v 
pyperclip.copy(f'{content}')  // 模拟键盘复制需要的内容到剪切板
pyautogui.click(x, y)  // 模拟鼠标操作点击 x和y是坐标

只要利用好这几个操作 就可以实现用python程序实现自动填写需要的信息。

三、实例演示 

比如说我用python写了这样一段代码:(以Linux系统演示)

pyautogui.PAUSE = 1
pyautogui.FAILSAFE = True
top_left = pyautogui.position()
result = args.split("|")
app_name = None
name = result[0].split("=")
if name[0] == name and len(name) > 1:
    app_name = name[1]
    result.pop(0)
else:
    alert(text='代填失败:没有应用名称', title='代填失败', button='OK')
    return
window_obj = open_app_new(app_name, False)

 上面的代码可以通过分割参数,拿到你需要启动的程序的名称,然后用下面的代码获取到当前的窗口,判断你需要的程序是否启动起来了:(前提是已经通过命令唤起需要的应用。唤起命令可以参考快捷方式里面的参数)

while True:
    if int(time.time()) - start_time > 10:
        alert(text='代填超时', title='代填超时', button='OK')
        return None
    if obj is not None:
        break
    if obj is None:
        time.sleep(2)
    try:
        if under:
            cmd.run('wmctrl -r :ACTIVE: -b add,below')
        window_pid = cmd.run('xdotool getactivewindow')
        if window_pid is None or window_pid == '':
            continue
        window_name = cmd.run(str(f'xdotool getwindowname {window_pid}'))
        obj = window_name
    except IndexError as idxException:
        pass
    except Exception as ex:
        
return obj

这里确认打开了需要的应用之后,就可以通过参数来进行代填操作:
比如我需要填写用户名和密码,那么实际我需要按一下tab,把光标切换到用户名的位置,然后再参数中拿到需要的用户名,并使用 

 

pyperclip.copy(f'{content}') // 模拟键盘复制需要的内容到剪切板
pyautogui.hotkey('ctrl', 'v')  // 模拟键盘使用快捷键 ctrl + v 

这两个方法,把参数中的用户名复制到用户名框里面。

再使用tab键切换到密码框

 pyautogui.press('tab')

 然后再通过参数来进行密码的填写:

pyperclip.copy(f'{content}') // 模拟键盘复制需要的内容到剪切板
pyautogui.hotkey('ctrl', 'v') // 模拟键盘使用快捷键 ctrl + v

然后再根据需要的操作切换到确认或者登录按钮上 ,比如我的密码框后面直接就是登录,那我只需要再执行

  pyautogui.press('tab')

 再执行

 pyautogui.press('enter')

来进行登录操作。这样当程序执行完之后,我们需要的应用就已经打开,并且是登录好的状态了。

这里比较建议 无论什么应用,都尽量使用键盘的操作来进行,非必要少用鼠标的操作,因为不同的分辨率,鼠标的位置和移动距离是不一样的,很难保证应用打开时的位置每次都是想要的位置,更加容易出现代填失误的情况 

四、总结

这样我们可以通过程序来进行程序的自动化操作,如果你有兴趣甚至可以用键盘实现更多的自动化操作,例如自动打开浏览器并打开我的主页来个点赞关注一键三连等等。可开发的空间还是很大的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值