Python Selenium 键盘与鼠标自动化操作详解
本文详解 Python Selenium 中键盘与鼠标的高级操作。通过 Keys 类模拟 Ctrl+A/V 等组合键及删除、清空输入框;利用 ActionChains 类实现右击、双击、拖动及元素悬停。结合具体代码示例,展示如何在 Web 测试中精准控制浏览器交互,提升自动化脚本的实用性与完整性。
引言
引言
键盘事件模拟
在实际的 Web 测试工作中,经常需要配合键盘按键进行复杂操作。Selenium WebDriver 提供的 Keys() 类涵盖了键盘上所有按键的操作方法,同时支持模拟 Ctrl+A、Ctrl+V 等组合键操作。
以下通过具体示例展示键盘操作的应用。
#cording=gbk
import os
import time
from selenium import webdriver
from selenium.webdriver.common.by import By #导入by方法
from selenium.webdriver.common.action_chains import ActionChains ##对鼠标事件操作
from selenium.webdriver.common.keys import Keys # 对键盘事件操作
current_path=os.path.dirname(__file__)
firefox_path=current_path+"/../webdriver/geckodriver.exe"
driver=webdriver.Firefox(executable_path=firefox_path)
driver.get("http://www.baidu.com")
# 先输入百度
driver.find_element_by_id('kw').send_keys('百度')
time.sleep(3)
# 1.删除度
driver.find_element_by_id('kw').send_keys(Keys.BACK_SPACE)
time.sleep(3)
#2.清空输入框,重新输入值
driver.find_element_by_id('kw').clear()
driver.find_element_by_id('kw').send_keys('安琪儿')
time.sleep(5)
# 3.ctrl+a 全选输入框里的内容
driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'a')
time.sleep(3)
# 4.ctrl+x 剪切输入框里的内容
driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'x')
time.sleep(3)
# 5. ctrl+v 粘贴剪切的内容
driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'v')
time.sleep(3)
# 6. 回车
driver.find_element_by_id('su').send_keys(Keys.ENTER)
time.sleep(3)
鼠标事件操作
在实际 Web 产品测试中,鼠标操作不仅限于 click() 单击。有时还需执行右击、双击、拖动等动作,这些功能均封装在 ActionChains 类中。
ActionChains 类中常用的鼠标操作方法包括:
- context_click():用于执行右击操作。
- double_click():用于执行双击操作。
- drag_and_drop():用于执行拖动操作。
- move_to_element():用于将鼠标移动至指定元素上方。
以下通过具体示例展示鼠标操作的应用。
#cording=gbk
import os
from selenium import webdriver
from selenium.webdriver.common.by import By #导入by方法
from selenium.webdriver.common.action_chains import ActionChains ##对鼠标事件操作
current_path=os.path.dirname(__file__)
firefox_path=current_path+"/../webdriver/geckodriver.exe"
driver=webdriver.Firefox(executable_path=firefox_path)
driver.get("http://127.0.0.1/zentao/user-login-L3plbnRhby9teS5odG1s.html")
mouse=ActionChains(driver) #创建一个鼠标对象
# element1=driver.find_element(By.XPATH,"//img[@src='/zentao/theme/default/images/main/zt-logo.png']") #Xpath利用属性定位
element1=driver.find_element(By.XPATH,"//img[contains(@src,'images/main/zt-logo.png')]") #xpath使用包含属性方法定位
mouse.context_click(element1).perform() #执行鼠标右击,.perform() 表示执行
element2=driver.find_element(By.XPATH,"//button[@type='button' and @class='btn' ]") #多属性定位
mouse.move_to_element(element2).perform() #移动到这个元素上
#对元素进行截图
driver.find_element(By.XPATH,"//button[@id='submit'][@type='submit']").screensh
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









