您的位置: 网站首页> selenium爬虫> 当前文章
python键盘操作PyKeyboard安装使用详解
老董-我爱我家房产SEO2020-10-09200围观,129赞
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编程网提示:转载请注明来源www.python66.com。
有宝贵意见可添加站长微信(底部),获取技术资料请到公众号(底部)。同行交流请加群
相关文章
文章评论
-
python键盘操作PyKeyboard安装使用详解文章写得不错,值得赞赏
站点信息
- 网站程序:Laravel
- 客服微信:a772483200