selenium键盘操作

键盘操作

文字输入

文字输入使用send_keys方法。

python 复制代码
from selenium import webdriver
from time import sleep

driver = webdriver.Chrome()
driver.get("http://www.baidu.com/")
driver.find_element_by_id('kw').send_keys('storm') # 输入文字
sleep(3)
driver.quit()

组合键

模拟组合键的方法相对复杂,但总体来说分为两步。

  • 导入Keys包。
  • 然后配合send_keys方法实现。
python 复制代码
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.keys import Keys

'''
打开百度首页,在搜索框中输入文字"storm"
通过组合键"Ctrl+A"全选
通过组合键"Ctrl+C"复制
通过clear方法清除搜索框中的内容
通过组合键"Ctrl+V"粘贴刚才复制的内容
'''
driver = webdriver.Chrome()
driver.get("http://www.baidu.com/")
# 通过send_keys方法模拟键盘输入文字
driver.find_element_by_id('kw').send_keys('storm')
sleep(3)
# 通过Keys.×××模拟功能按键的操作
driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'a')
driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'c')
# 通过clear方法清除搜索框中的内容
driver.find_element_by_id('kw').clear()
sleep(3)
driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'v')
sleep(3)
driver.quit()

ActionChains实现

python 复制代码
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome()
driver.get("http://sahitest.com/demo/clickCombo.htm")
ele = driver.find_element_by_xpath('/html/body/div/div')
# 按住"Ctrl"键
ActionChains(driver).key_down(Keys.CONTROL).perform() 
# 单击
ele.click()
sleep(3)
driver.quit()
相关推荐
flower_drop11 小时前
基于 WebUSB 与 CDP:在浏览器端实现 Android 设备通信与无证书抓包实践
android·chrome·测试工具·adb·bug·edge浏览器
2601_9622982716 小时前
Python与Selenium结合的Web自动化测试全流程实践教程
自动化测试·python·selenium·web测试·pageobjectmodel
chuntian_tester19 小时前
AI自动化第3步【用例设计】
人工智能·测试工具·ai·自动化
广州文明机电有限公司20 小时前
LM‑2 实操|宽域氧传感器安装位置 + Free‑Air 自由空气校准完整流程
功能测试·测试工具
PhotonixBay20 小时前
共聚焦显微镜如何实现表面形貌测量
图像处理·测试工具·共聚焦显微镜·表面粗糙度·激光共聚焦显微镜·表面形貌
chuntian_tester21 小时前
AI自动化第1步【系统探索】
人工智能·测试工具·ai·自动化
2601_962298271 天前
【自动化测试】基于Selenium + Python的web自动化框架
自动化测试·python·selenium·测试用例·web框架
2601_962295582 天前
python+selenium实现自动化测试
自动化测试·python·selenium·学习心得·web端测试
yyt3630458412 天前
一次鼠标交互触发两次 Vue flushJobs:把高频交互从 VDOM 里拆出来
前端·vue.js·计算机外设