selenium提供键盘操作Keys类,但是其局限性太大。真正要玩转键盘操作还是需要PyKeyboard这个库,PyKeyboard键盘库和PyMouse一样集成到了PyUserInput里面,所以安装PyUserInput即可。具体的方法可以参考上一篇文章!

提前说一下,PyKeyboard把一些特殊的按键ctrl、alt、enter等定义成了类属性,但是要注意Mac和Windows中,alt键的输入方法不一样。

我们可以通过dir函数来查看各种按键属性,在这里面可以找到你想要的按键。

# -*- coding: utf-8 -*-

from pykeyboard import PyKeyboard

k = PyKeyboard()

print(dir(k)) # 结果太多,就不打印了

常用函数介绍:

press_key() # 按下键

release_key() # 松开键

press_keys() # 按下多个键,参数为列表

以上函数的参数为要按下的键,可以用字符形式输入,也可以用类属性,记得press_key()后一定要release,否则就是长按不放了。不过,press_keys()的源码里面自带了release,应该不用再释放,这一点我没测试

tap_key(character='', n=1, interval=0): # 点击键

tap_key第一个参数为要点击的键,可以用字符的形式输入,也可以用类属性,第二个参数为点击的次数,默认为1;第三个参数为点击间隔的时间,单位为秒,默认为0

按键示例:

k.press_key('i') # 模拟键盘按i键

k.press_key(k.alt_key) # 按住alt键

k.press_key(k.control_key) # 按住ctrl键

k.press_key(k.enter_key) # 按住enter键

k.tap_key(k.tab_key) # 点击tab键

k.tap_key(k.delete_key) # 点击delete键

k.release_key(k.alt_key) # 松开alt键

k.tap_key(k.function_keys[5]) # 点击功能键F5

k.tap_key(k.numpad_keys[5],2) # 点击小键盘5共2次

系统差异:

# 同为按下alt键

# Windows

k.tap_key(k.alt_key)

# Mac

k.tap_key('Alternate')

我们通过一个案例来感受下PyKeyboard的用法:

1 打开百度

2 按下ctrl+shift+i键 打开审查元素窗口

3 松开按键

# -*- coding: utf-8 -*-

import time

from selenium import webdriver

from selenium.webdriver.common.by import By

from selenium.webdriver.support.ui import WebDriverWait

from selenium.webdriver.support import expected_conditions as EC

from selenium.webdriver.chrome.options import Options

from pykeyboard import PyKeyboard

def test():

driver.get('https://www.baidu.com/')

# 等待网页加载

input = WebDriverWait(driver, 30).until(

EC.visibility_of_element_located((By.ID, "kw"))

)

k = PyKeyboard()

# 按下ctrl+shift + i

k.press_key(k.control_key)

k.press_key(k.shift_key)

k.tap_key('i')

# 松开键

k.release_key(k.shift_key)

k.release_key(k.control_key)

time.sleep(10)

if __name__ == "__main__":

option = Options()

option.binary_location = "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe" # 安装的位置

driver = webdriver.Chrome(options=option)

test()

driver.quit()

python按键盘上哪个键运行_python键盘操作PyKeyboard安装使用详解相关推荐

  1. python按键盘上哪个键运行_python通过按下键盘特定按键,开始运行python文件

    一.目的 通过按下键盘特定按键,开始运行python文件 二.code from pykeyboard import PyKeyboardEvent from pykeyboard import * ...

  2. python按键盘上哪个键运行_python按什么键运行

    python按什么键运行? python按shift+F10键运行. Python是一种计算机程序设计语言.是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新 ...

  3. python按键盘上哪个键运行_python根据键盘输入进行相应操作

    上篇文章介绍了如何利用pyhook模块监听鼠标键盘的事件,接下来如果需要通过监听的事件内容,来做对应的操作,需要对event的内容进行相应的判断. 如果仅仅通过event.key来进行判断,可以写成s ...

  4. 在python中使用关键字define定义函数_python自定义函数def的应用详解

    这里是三岁,来和大家唠唠自定义函数,这一个神奇的东西,带大家白话玩转自定义函数 自定义函数,编程里面的精髓! def 自定义函数的必要函数:def 使用方法:def 函数名(参数1,参数2,参数-): ...

  5. python 文件指针在文件末尾_python文件操作及seek偏移详解

    一.python文件操作中的编码 本次测试是基于python 2.7.12   OS:Ubuntu16.04  pycharm环境,以及win7下2.7.12; 首先说下汉字在文件中占用的字节数,这个 ...

  6. python的sort方法是哪种_python中的sort方法使用详解

    Python中的sort()方法用于数组排序,本文以实例形式对此加以详细说明: 一.基本形式列表有自己的sort方法,其对列表进行原址排序,既然是原址排序,那显然元组不可能拥有这种方法,因为元组是不可 ...

  7. python如何调用文件进行换位加密_python 换位密码算法的实例详解

    python 换位密码算法的实例详解 一前言: 换位密码基本原理:先把明文按照固定长度进行分组,然后对每一组的字符进行换位操作,从而实现加密.例如,字符串"Error should neve ...

  8. python爬取app中的音频_Python爬取喜马拉雅音频数据详解

    码农公社  210.net.cn  210是何含义?10月24日是程序员节,1024 =210.210既 210 之意. Python爬取喜马拉雅音频数据详解 一.项目目标 爬取喜马拉雅音频数据 受害 ...

  9. python中for in range的用法_Python for i in range ()用法详解

    for i in range ()作用: range()是一个函数, for i in range () 就是给i赋值: 比如 for i in range (1,3): 就是把1,2依次赋值给i r ...

  10. python中 for i in range(10)_Python for i in range ()用法详解

    for i in range ()作用: range()是一个函数, for i in range () 就是给i赋值: 比如 for i in range (1,3): 就是把1,2依次赋值给i r ...

最新文章

  1. 为什么await()后会执行lock.unlock,await()时不就释放锁了吗
  2. PB的setfilter()和modify()一些不为人知的技巧
  3. linux解释名词shell环境,Linux 定时任务
  4. 线段树 + 字符串Hash - Codeforces 580E Kefa and Watch
  5. Facebook热门应用被曝向第三方提供用户信息
  6. Yii2学习笔记002---Yii2的控制器和视图
  7. python安装失败找不到指定路径_解决安装python库时windows error5 报错的问题
  8. w7电脑蓝屏怎么解决_为你解答win7电脑蓝屏怎么办
  9. 前端——面试(苏小妍)
  10. 【ICCV2019论文阅读】PU-GAN:点云上采样对抗网络
  11. Tomcat配置域名访问
  12. sammy1989 python生成html报告
  13. 详解Django的CSRF认证
  14. LINUX IIO子系统分析之四 IIO EVENT介绍
  15. 项目二-成员函数、友元函数和一般函数之区别
  16. 休闲游戏:跑跑卡丁车在线玩!
  17. 用MATLAB做简单的运动模糊
  18. 计算机无法启动 一直在启动修复需要多久,关于电脑总是卡机蓝屏启动修复~...
  19. 数据结构期末复习线性表(2)
  20. iphone二手回收报价表(二手iphonex回收参考价)

热门文章

  1. Linux系统引导过程及引导修复
  2. 苹果屏幕上的小圆点_原来苹果手机内置录屏功能,简单设置就打开,好多人没发现!...
  3. mediasoup数据转发 源码剖析
  4. 单片机学习笔记5--STM32时钟系统(基于百问网STM32F103系列教程)
  5. Unity动画系统-配置Avatar
  6. 回望2022,依然值得仰望星空
  7. AspectJ自定义注解报错:error Type referred to is not an annotation type:xxx -----IllegalArgumentException
  8. 国家区块链漏洞库2020年区块链安全态势感知报告
  9. 【NOIP2017普及组】跳房子
  10. [洛谷P4118][Ynoi2016]炸脖龙I([洛谷P3934]Nephren Ruq Insania)