学习Python中Selenium模块的基本用法(17:使用ActionChains操作键盘)

  Selenium模块的ActionChains类专门用于模拟复杂的用户交互行为,通过链式调用方式,将多个用户操作(鼠标、键盘等)组合成一个动作序列,然后一次性执行。本文学习使用ActionChains操作键盘的基本用法。
  ActionChains的通用函数及键盘操作函数如下表所示:

序号 名称 说明
1 pause 暂停所有输入一段时间(秒)
2 perform 执行所有存储的操作
3 key_down 模拟按下键盘上的某个键
4 key_up 模拟释放键盘上的某个键
5 send_keys 发送按键到当前焦点所在元素
6 send_keys_to_element 发送按键到指定的元素

  以百度搜索为例,如下面代码所示,找到输入框,分别执行正常输入、大写输入、组合键输入(ctrl+a)等操作,运行效果如下图所示:

python 复制代码
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver import Keys, ActionChains
import time

driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")

time.sleep(2)

search_box =driver.find_element(By.ID, "chat-textarea") 

ActionChains(driver).send_keys_to_element(search_box,'DeepSeek ')\
                    .pause(1)\
                    .key_down(Keys.SHIFT)\
                    .send_keys("h")\
                    .key_up(Keys.SHIFT)\
                    .send_keys("ello world!")\
                    .pause(1)\
                    .key_down(Keys.CONTROL)\
                    .send_keys('a')\
                    .key_up(Keys.CONTROL)\
                    .pause(1)\
                    .send_keys('DeepSeek官网')\
                    .send_keys(Keys.ENTER)\
                    .perform()

参考文献:

1https://www.selenium.dev/zh-cn/

2https://www.selenium.dev/zh-cn/documentation/webdriver/getting_started/

3https://blog.csdn.net/kk_lzvvkpj/article/details/148610502

4https://registry.npmmirror.com/binary.html?path=chromedriver/

5https://chromedriver.chromium.org/

6https://www.runoob.com/selenium/selenium-mouse-and-keyboard-operation.html

相关推荐
宿州派大星19 分钟前
Python实战:PyQt5 + OpenCV + Dlib 打造AI桌面应用
人工智能·python·qt
承渊政道1 小时前
【从零开始大模型开发与微调:基于PyTorch与ChatGLM】(开源大模型ChatGLM高级定制化应用实战)
人工智能·pytorch·python·llm·模型微调·glm
代码不停7 小时前
自动化测试(java)
java·开发语言·selenium·自动化
Smoothcloud润云8 小时前
PyTorch大模型权重加载与启动耗时优化实战:定位磁盘、内存与显存瓶颈
人工智能·pytorch·python·深度学习·gpu算力
databook8 小时前
从循环到向量化:NumPy提速的7个关键思维
python·数据分析·numpy
棉猴8 小时前
玩游戏学Python1-Python和pgzero库的安装
python·pygame·玩游戏·pgzero·pgzrun
诺伦9 小时前
GEO优化数据实证:78%引用流向官网的机制拆解与小品牌三步管线实战教程 | RiseClaw玄策
python·seo·geo·内容营销·ai搜索
oooost9 小时前
pytorch学习笔记1
python·学习方法
数字融合9 小时前
透明化视频孪生虚实映射一体化融合技术
人工智能·python·数码相机
jack1868910 小时前
Lovable.Dev 全栈应用快速落地实战指南
python