基于pykeyboard的用法说明

· 键盘操作

k.type_string(‘abcdefg') --输入内容

k.press_key(‘a') --按a键

k.release_key(‘a') --松开a键

k.tap_key(‘a') --点击a键

k.tap_key(‘a', n=2, interval=5) --点击a键2次,每次间隔5秒

k.tap_key(k.function_keys[5]) --功能键F5

附 python模拟鼠标点击和键盘输入的操作

补充:python selenium pykeyboard

python selenium pykeyboard操作网页实现本地文件上传:

import sys
from selenium import webdriver
from pykeyboard import PyKeyboard
import time

browser = webdriver.Chrome()
browser.get('http://app.xunjiepdf.com/ocrhand')
browser.find_element_by_xpath('/html/body/main/section/div/section[1]/div/div[1]/div/div/div[2]/label').click()
time.sleep(2)
kk = PyKeyboard()
# kk.tap_key(kk.shift_key) # 切换为英文,看实际情况是否需要
time.sleep(1)
k.type_string('3.png') # 打开文件所在目录,方便多个文件上传
time.sleep(1)
kk.tap_key(kk.enter_key)
time.sleep(1)
#browser.find_element_by_xpath('/html/body/main/section/div/section[1]/div/div[2]/div[3]/a/span').click()
time.sleep(10)
# browser.find_element_by_xpath('/html/body/main/section/aside/div/dl/dd[2]/a/span3.').click()

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • windows下python模拟鼠标点击和键盘输示例

    需要先装pywin32,windows下调用winapi的接口 复制代码 代码如下: ## _*_ coding:UTF-8 _*___author__ = 'shanl' import win32apiimport win32conimport win32guifrom ctypes import *import time VK_CODE = {    'backspace':0x08,    'tab':0x09,    'clear':0x0C,    'enter':0x0D,    '

  • python之模拟鼠标键盘动作具体实现

    上个月就打算开发个还算好玩的项目,但是一直没时间.这篇是此项目用到的一部分, 处理好此部分基本还差通信等方面的了.首先模拟鼠标键盘按下释放的动作,本人利用X11 这个库,所以要了解X11编程;其次,本身用c或者c++就可以实现了,但是由于本人是py 粉,所以总想把代码搬进python,所以本人就要实现python模块,本篇用的ctypes,以后会 把python的c扩展模块附上来的. 1.X11编程 首先简单的介绍一下X11吧,网上有介绍,本人就不重复了.我们知道X是以server与client

  • Python实现windows下模拟按键和鼠标点击的方法

    本文实例讲述了Python实现windows下模拟按键和鼠标点击的方法.分享给大家供大家参考.具体如下: 这段代码可以模拟在窗口上按下按键.鼠标左键点击.鼠标右键点击.鼠标双击等等 # # _*_ coding:UTF-8 _*_ import win32api import win32con import win32gui from ctypes import * import time VK_CODE = { 'backspace':0x08, 'tab':0x09, 'clear':0x0

  • python模拟鼠标点击和键盘输入的操作

    所有代码都是网上百度出来的,通过个人实践找到适合自己的. 采用的python 库是 pymouse.pykeyboard 安装时直接pip安装的,pip install PyUserInput 安装不成功的可以参照http://www.lfd.uci.edu/~gohlke/pythonlibs/这个地址,内容很全 实现了一个最简单的输入密码,enter进入的登录过程 如果想遍历,可以使用itertools 包,很有用,具体用法这里不介绍了. · 鼠标点击 有m.click(x, y, butt

  • 基于pykeyboard的用法说明

    · 键盘操作 k.type_string('abcdefg') --输入内容 k.press_key('a') --按a键 k.release_key('a') --松开a键 k.tap_key('a') --点击a键 k.tap_key('a', n=2, interval=5) --点击a键2次,每次间隔5秒 k.tap_key(k.function_keys[5]) --功能键F5 附 python模拟鼠标点击和键盘输入的操作 补充:python selenium pykeyboard p

  • 基于hover的用法实例(推荐)

    //hover,鼠标移入移出的另一种用法 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=U

  • 基于matplotlib xticks用法详解

    这个坐标轴变名用法,我真服气了,我在网上看大家写的教程,看的头晕,也没看懂他们写xtick到底怎么用的,最后找到官方教程,看了一个例子,over xticks到底有什么用,其实就是想把坐标轴变成自己想要的样子 import matplotlib.pyplot as plt x = [1, 2, 3, 4] y = [1, 4, 9, 6] labels = ['Frogs', 'Hogs', 'Bogs', 'Slogs'] plt.plot(x, y) # You can specify a

  • 基于typedef的用法详解

    也许新手用这个关键字不多,但它却是一个很有用的关键字,可以使代码模块化程度更好(即与其它代码的关联较少),在C++中还是实现Traits技术的基础,也是模板编程的基本语法之一. 若说变量定义是为变量命名,而typedef(或称为类型定义)就是为类型命名.既然都是命名,那就会有很多类似的地方.而变量定义我想大家都会使用,因此类型定义也必然会使用. 类型定义的语法可以归结为一句话:只要在变量定义前面加上typedef,就成了类型定义.这儿的原本应该是变量的东西,就成为了类型.如,下面的变量定义:in

  • 基于Class.forName()用法及说明

    目录 1 什么是class对象 2 获得class对象的三种方法 3 class的作用和方法 4 Class.forName()用法 4.1 什么时候用Class.forName()? 4.2 newInstance和new关键字的区别 5 应用问题解析 情景一:载入数据库驱动的时候 情景二:使用AIDL与电话管理Servic进行通信 1 什么是class对象 类是程序的一部分,每个类都有一个class对象. 换言之,每当编写并且编译了一个新类,就会产生一个class对象(更恰当的说,是被保存在

  • 基于PHP CURL用法的深入分析

    如下所示: 复制代码 代码如下: <?phpheader('Context-Type:text/html;charset:gb2312;');$urls = array( 'http://www.baidu.com/', 'http://www.pconline.com.cn/', 'http://www.163.com/');$options = array( CURLOPT_RETURNTRANSFER=>1, CURLOPT_FOLLOWLOCATION=>1,  CURLOPT_

  • 基于ThreadLocal 的用法及内存泄露(内存溢出)

    目录 使用 构造方法 静态方法 公共方法 内存泄露 解决方法 为什么要将ThreadLocal 定义成 static 变量 对ThreadLocal内存泄漏引起的思考 概述 使用场景样例代码 ThreadLocal使用源码 思考问题 ThreadLocal解读 ThreadLocal 看名字 就可以看出一点头绪来,线程本地. 来看一下java对他的描述: 该类提供线程本地变量.这些变量与它们的正常对应变量的不同之处在于,每个线程(通过ThreadLocal的 get 或 set方法)访问自己的.

  • C++中最常用的容器用法与排序实例

    目录 引述 vector 用法 其他说明 map 用法 其他说明 set 用法 其他说明 string 用法 总结 引述 C++ 的 STL 容器分为顺序容器和关联容器. 顺序容器:vector.deque.list(forward_list).array.string 关联容器:map 和 set(及其 multi 和 无序版本) 容器适配器(不是容器):stack.queue.priority_queue 所谓的顺序容器宏观上理解就是小鬼们按一定的顺序排排坐.关联式包括类似于数据库里面,有一

  • 基于C++中setiosflags()的用法详解

    cout<<setiosflags(ios::fixed)<<setiosflags(ios::right)<<setprecision(2); setiosflags 是包含在命名空间iomanip 中的C++ 操作符,该操作符的作用是执行由有参数指定区域内的动作:   iso::fixed 是操作符setiosflags 的参数之一,该参数指定的动作是以带小数点的形式表示浮点数,并且在允许的精度范围内尽可能的把数字移向小数点右侧:   iso::right 也是se

  • 基于多线程中join()的用法实例讲解

    Thread中,join()方法的作用是调用线程等待该线程完成后,才能继续用下运行. public class TestThread5 { public static void main(String[] args) throws InterruptedException { Runner0 run5 = new Runner0(); Thread th5 = new Thread(run5); th5.start(); th5.join();//join()方法用在此处是为了等待主线程结束后运

随机推荐