python

当前位置:首页 > selenium教程 > 当前文章

selenium教程

python键盘操作PyKeyboard安装使用详解

2020-10-09 138赞 python中国网
每篇文章努力于解决一个问题!python高级、python面试全套、操作系统经典课等可移步文章底部。

  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键盘操作PyKeyboard安装使用详解文章写得不错,值得赞赏