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
  • asp之家 网络编程 m.aspxhome.com