Python selenium键盘鼠标事件实现过程详解
作者:安琪儿一直在 时间:2021-09-16 05:26:23
引言
----在实际的web测试工作中,需要配合键盘按键来操作,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
来源:https://www.cnblogs.com/123anqier-blog/p/12729482.html
标签:Python,selenium,键盘,鼠标
0
投稿
猜你喜欢
MySQL用户密码中的特殊字符叹号(!)的妙用
2024-01-15 19:36:11
详解JavaScript中的this指向问题
2023-08-23 00:52:03
新书:《精通CSS网页布局》
2009-01-08 11:57:00
python利用K-Means算法实现对数据的聚类案例详解
2021-02-28 10:01:29
ASP XML编程objXML.async = False
2011-04-21 10:55:00
SQL Server 压缩日志及数据库文件大小
2009-05-13 10:29:00
阿里云ECS centos6.8下安装配置MySql5.7的教程
2024-01-14 23:47:13
Python生成短uuid的方法实例详解
2021-06-30 14:12:03
下载 Firefox 3 中文版/英文版
2008-06-19 13:27:00
使用遗传算法求二元函数的最小值
2022-07-29 09:13:37
解析Anaconda创建python虚拟环境的问题
2023-08-01 03:58:13
关注各网站的布局调整
2008-09-23 18:14:00
MySQL关键字Distinct的详细介绍
2024-01-27 11:44:47
python ctypes库2_指定参数类型和返回类型详解
2021-10-17 14:34:50
巧用Dreamweaver MX设计导航栏特效
2009-07-10 13:17:00
一篇文章带你了解python标准库--sys模块
2022-04-25 10:21:37
Django扫码抽奖平台的配置过程详解
2021-11-25 22:54:09
vue.js选中动态绑定的radio的指定项
2024-04-27 16:13:25
Python爬虫基础之requestes模块
2022-04-24 20:20:15
详解Python之可迭代对象,迭代器和生成器
2022-09-30 02:11:06