【Python】之操作鼠标键盘,上传文件,并支持中文
Mac系统实现操作键盘
Python中模拟键盘和鼠标最著名的模块是:pymouse和pykeyboard。一次安装两个模块比较麻烦,而有一个库整合了这两个模块,而且能支持跨平台操作,这个库叫PyUserInput,通过安装PyUserInput就可以直接得到pymouse和pykeyboard。
pip install pyUserInput -i http://pypi.douban.com/simple/  --trusted-host pypi.douban.com
我用的国内源进行下载,具体参考我的文章《【Python】之pip安装报错问题:WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) 》
安装完之后,参考代码
    def upload_file(self, path):
        # 创建鼠标对象
        k = PyKeyboard()
        # 创建键盘对象
        m = PyMouse()
        filepath = "/"
        # 模拟快捷键Command+Shift+G
        k.press_keys(["Command", "Shift", "G"])
        # 输入文件路径
        x_dim, y_dim = m.screen_size()
        m.click(x_dim // 2, y_dim // 2, 1)
        # 复制文件路径开头的斜杠/
        pyperclip.copy(filepath)
        # 粘贴斜杠/
        k.press_keys(["Command", "V"])
        time.sleep(2)
        # 输入文件全路径进去
        k.type_string(path)
        # 输入中文
        fileName = 'XX信息-批量导入模板 (9).xls'
        # 复制
        pyperclip.copy(fileName)
        # 粘贴中文
        k.press_keys(["Command", "V"])
        time.sleep(2)
        k.press_key("Return")
        time.sleep(2)
        k.press_key("Return")
        time.sleep(2)
参考文章
①《Python selenium 文件上传 forMac》 ***** 
②《Python 模拟键盘鼠标操作实战教程》 *** 
③《pyautogui和pyperclip实现自动输入中文》 *****
其他参考
④《PyAutoGUI (2) 屏幕处理和弹框,输入中文》 *** 
⑤《PyAutoGUI 简介》 *** 
⑥《Python(Pyautogui 模块)》 *** 
⑦《PyAutoGUI使用》 ***
【Python】之操作鼠标键盘,上传文件,并支持中文的更多相关文章
- swagger上传文件并支持jwt认证
		
背景 由于swagger不仅提供了自动实现接口文档的说明而且支持页面调试,告别postman等工具,无需开发人员手动写api文档,缩减开发成本得到大家广泛认可 但是由于swagger没有提供上传文件的 ...
 - selenium python (十四)上传文件的处理
		
#!/usr/bin/python# -*- coding: utf-8 -*-__author__ = 'zuoanvip' #上传过程一般要打开一个系统的windows窗口,从窗口选择本地文件添加 ...
 - python通过http(multipart/form-data)上传文件的方法
		
之前写过一篇博客,说的如何python如何通过http下载文件,今天写一篇博客来介绍如下,python如何通过request库实现上传文件 这里主要是解决multipart/form-data这种格式 ...
 - formdata方式上传文件,支持大文件分割上传
		
1.upload.html <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/html"> <h ...
 - 解决python发送multipart/form-data请求上传文件的问题
		
服务器接收文件时,有时会使用表单接收的方式,这意味着我们需要使用Python的requests上传表单数据和文件. 常用的方式一般如下: data = { 'name': 'nginx' } file ...
 - python向ftp上传文件,解决中文问题
		
# coding: UTF-8 import os import sys import salt.client import salt.config import time from ftplib i ...
 - Python使用requests和requests_toolbelt上传文件
		
1.requests-toolbelt官方文档:https://pypi.org/project/requests-toolbelt/ 2.环境安装 pip install requests-tool ...
 - php 图片上传 并返回上传文件位置 支持多文件上传
		
<?php /** * Created by PhpStorm. * User: DY040 * Date: 2018/4/26 * Time: 13:23 */ echo '<pre&g ...
 - jquery异步上传文件,支持IE8
		
http://code.taobao.org/p/upload2/src/ 已经托管至淘宝code 源码:http://code.taobao.org/p/upload2/src/jquery.upl ...
 - 阿里云oss上传文件如何支持https?
		
let client = new OSS.Wrapper({ accessKeyId: res.data.accessKeyId, accessKeySecret: res.data.accessKe ...
 
随机推荐
- 《DNK210使用指南 -CanMV版 V1.0》第六章 Kendryte K210固件烧录
			
第六章 Kendryte K210固件烧录 1)实验平台:正点原子DNK210开发板 章节摘自[正点原子]DNK210使用指南 - CanMV版 V1.0 3)购买链接:https://detail. ...
 - fpga是什么
			
FPGA(Field Programmable Gate Array) 现场可编程门阵列
 - 阿里云服务器安装Docker Compose
			
官网地址:https://docs.docker.com/compose/install/ 1. sudo curl -L "https://github.com/docker/compos ...
 - javaweb使用gson工具使浏览器返回json数据
			
1.什么是序列化和反序列化 (1)Java序列化是指把Java对象转换为字节序列的过程,而Java反序列化是指把字节序列恢复为Java对象的过程: (2)序列化:对象序列化的最主要的用处就是在传递和保 ...
 - js 异步 任务 题目解析(chatgpt bug了?)
			
最近遇到一道题如下,求输出结果 感觉还是蛮有意思的,找chatgpt做了一下 我是题 async function async1(){ console.log('1'); await async2() ...
 - CentOS之yum安装JDK
			
1.查看云端目前支持安装的jdk版本 [root@localhost ~]# yum search java|grep jdk ldapjdk-javadoc.noarch : Javadoc for ...
 - 手动设置提示在此环境中不可导入Django
			
手动设置提示在此环境中不可导入Django 环境参数添加manage.py中的代码'DJANGO_SETTINGS_MODULE', 'codeProject.settings'
 - 使用 useLazyFetch 进行异步数据获取
			
title: 使用 useLazyFetch 进行异步数据获取 date: 2024/7/20 updated: 2024/7/20 author: cmdragon excerpt: 摘要:&quo ...
 - Python 使用rsa类库基于RSA256算法生成JWT
			
JWT简介 JWT(Json web token),是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准.JWT提供了一种简单.安全的身份认证方法,特别适合分布式站点单点登录.或者是签名. ...
 - php 模型浏览器
			
docker安装 文档:https://github.com/SeleniumHQ/docker-selenium docker run -d -p 4444:4444 -p 7900:7900 -- ...