selenium鼠标操作,selenium鼠标右键事件

  selenium鼠标操作,selenium鼠标右键事件

  本文为大家带来一些python的相关知识,主要介绍selenium的基本元素以及键盘鼠标模拟事件的相关问题,包括使用Keys模块模拟键盘操作事件,使用Action类模拟鼠标操作事件等。下面就一起来看看吧,希望对你有所帮助。

  推荐:python视频教程

  当我们定位到一个特定的元素时,我们可以对这个元素执行特定的操作,比如上一章执行的点击操作。这是最简单的操作,webdriver还有其他操作。比如元素的基本操作(点击、回车、清除),以及一些高级操作如鼠标键盘模拟事件、弹出框处理、多页面切换等.这些都是我们需要了解的内容,也是我们在做自动化测试时经常遇到的一些基本场景。在今天的章节中,我们先来学习元素的基本操作和鼠标键盘模拟事件的操作。

  00-1010使用我们之前使用的本地form.html文件来练习元素的基本点击、输入和清除操作。

  代码示例如下:

  #编码:utf-8

  从时间进入睡眠

  从selenium导入web驱动程序

  Driver=webdriver。Chrome() #启动Chrome浏览器的驱动

  driver . maximize _ window()# Chrome浏览器最大化

  driver . get( file ://users/workspace/web _ test _ html/form.html )#打开本地“form . html”文件

  睡眠(1)

  email _ element=driver . find _ element _ by _ xpath(/*[@ id= input email ])#通过XPath定位邮件输入框。

  Email _ element.send _ keys(用户名)#在电子邮件输入框中输入用户名

  睡眠(1)

  Email_element.clear() #清除电子邮件输入框的内容。

  睡眠(1)

  email _ element . send _ keys( admin )#在电子邮件输入框中输入 admin

  driver . find _ element _ by _ XPath(/*[@ id=输入密码])。send _ keys (123456) #密码输入框,输入 123456

  睡眠(1)

  driver . find _ element _ by _ XPath(/html/body/form/div[3]/div/button )。单击()#通过XPath找到“登录”按钮,然后单击

  driver.quit()的运行结果如下:

  以上是元素的基本操作,其实也是最简单最基本的操作。接下来,我们继续看更难的操作——鼠标键盘模拟事件操作。

  

元素的基本操作

使用我们本地的sendkeys.html文件,实现了鼠标和键盘的模拟事件操作。sendkeys.html文件的页面元素如下:

  00-1010ps,使用密钥模块需要“从selenium.webdriver.common.Keys导入密钥”的导入操作:

  键盘模拟事件代码的示例如下:

  #编码:utf-8

  从时间进入睡眠

  从selenium导入web驱动程序

  从selenium.webdriver.common.keys导入密钥

  Driver=webdriver。Chrome() #启动Chrome浏览器的驱动

  driver . maximize _ window()# Chrome浏览器最大化

  driver . get( file ://users/workspace/web _ test _ html/sendkeys . html )#打开本地“form.html”文件

  睡眠(1)

  #

  这里需要注意一下,因为我使用的是 Mac ,所以键盘 ctrl 事件是 "Keys.COMMAND" ,如果是 Win 系统的话,ctrl 事件是 "Keys.CONTROL"

  driver.find_element_by_id('A').send_keys((Keys.COMMAND, 'a')) # 通过 id 定位 "id = A" 的元素,执行键盘事件 command + a

  driver.find_element_by_id('A').send_keys((Keys.COMMAND, 'x')) # 通过 id 定位 "id = A" 的元素,执行键盘事件 command + x

  sleep(1)

  driver.find_element_by_id('B').send_keys((Keys.COMMAND, 'v')) # 通过 id 定位 "id = B" 的元素,执行键盘事件 command + v

  sleep(1)

  driver.find_element_by_id('B').send_keys((Keys.COMMAND, 'a')) # 通过 id 定位 "id = B" 的元素,执行键盘事件 command + a

  sleep(1)

  driver.find_element_by_id('B').send_keys((Keys.COMMAND, 'c')) # 通过 id 定位 "id = B" 的元素,执行键盘事件 command + c

  sleep(1)

  driver.find_element_by_id('A').send_keys((Keys.COMMAND, 'v')) # 通过 id 定位 "id = A" 的元素,执行键盘事件 command + v

  sleep(1)

  driver.quit()运行结果如下:

  


  


利用 Action 类模拟鼠标操作事件

PS:模拟鼠标操作的场景并不是很多,了解即可。同时 Action 类需要执行 "from selenium.webdriver import ActionChains"

  先来看一下,Action 类都支持哪些鼠标的常用操作。

  

  • key_down:模拟鼠标按键按下
  • key_up:模拟鼠标按键弹起
  • click:模拟鼠标按键点击(单击)
  • context_click:点击鼠标右键
  • double_click:模拟鼠标按键点击(双击)
  • send_keys:发送某个键到当前焦点的元素
  • click_and_hold:点击鼠标左键,不松开(拖拽)
  • release:释放、松开按住的鼠标按钮
  • move_to:鼠标移动到…
  • drag_and_drop:拖拽起来丢掉那里去…
  • perform:无论做了什么操作,最后都需要 perform 去提交
PS:实际场景中不会是用很复杂的鼠标操作事件来进行 自动化Case的编写,所以我们演示的也是比较简单的场景。

  模拟鼠标事件 代码示例如下:

  

# coding:utf-8

  from time import sleep

  from selenium import webdriver

  from selenium.webdriver import ActionChains

  driver = webdriver.Chrome() # 启动 Chrome浏览器的 driver

  driver.maximize_window() # Chrome 浏览器最大化

  driver.get('file:///Users/workspace/WEB_TEST_HTML/sendkeys.html') # 打开本地的 "form.html" 文件

  sleep(1)

  # 这里需要注意一下,因为我使用的是 Mac ,所以键盘 ctrl 事件是 "Keys.COMMAND" ,如果是 Win 系统的话,ctrl 事件是 "Keys.CONTROL"

  double_click_element = driver.find_element_by_id('A')

  # 通过 id 定位 "id = A" 的元素赋值给 double_click_element

  ActionChains(driver).double_click(double_click_element).context_click(double_click_element).perform()

  # 通过 ActionChains 类将 "driver" 转换,先双击、然后执行右击操作【这种串联起来的操作,叫做链式用法,可以根据这个链一直往下写】

  sleep(2)

  ActionChains(driver).context_click(double_click_element).perform()

  # 通过 ActionChains 类将 "driver" 转换,然后执行右击操作

  sleep(2)

  driver.quit()

运行结果如下:

  


  以上就是使用 Action 类实现一些特殊场景的模拟,比较常用的就是 双击、右击、拖拽 等场景使用的略多一些,其他的场景使用 Action 类就会特别少。

  推荐学习:python视频教程以上就是Python实战解析selenium的基本元素与键盘鼠标模拟事件的详细内容,更多请关注盛行IT软件开发工作室其它相关文章!

  

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • vue监听指定按钮加点击事件,vue按钮点击事件,vue双击事件2.0事件监听(点击-双击-鼠标事件)和事件修饰符操作
  • js鼠标触碰事件,js鼠标事件包括哪几种
  • js鼠标触碰事件,js鼠标事件包括哪几种,关于js中的鼠标事件总结
  • js鼠标拖动div,js 移动鼠标
  • js鼠标拖动div,js 移动鼠标,JS实现简单移动端鼠标拖拽
  • js怎么实现点击按钮图片切换,js鼠标点击按钮图片移动
  • js怎么实现点击按钮图片切换,js鼠标点击按钮图片移动,js鼠标点击图片切换效果代码分享
  • js小球跟随鼠标移动,js鼠标跟随特效
  • js小球跟随鼠标移动,js鼠标跟随特效,js实现鼠标跟随小游戏
  • jquery鼠标悬停二级菜单,jquery鼠标悬停按钮切换图片
  • jquery鼠标悬停二级菜单,jquery鼠标悬停按钮切换图片,jQuery实现鼠标悬停3d菜单展开动画效果
  • html鼠标特效代码,html鼠标特效
  • html鼠标特效代码,html鼠标特效,10个经典的网页鼠标特效代码
  • win7鼠标滚轮上下失灵,win7鼠标滚轮用不了
  • thinkpad usb口不能用 鼠标,thinkpad电脑怎么禁用触控
  • 留言与评论(共有 条评论)
       
    验证码: