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

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()

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值