手把手带你学python自动化测试(五)——鼠标键盘操作

在浏览器中,通常会用到鼠标来进行操作,比如右键菜单中选择一个操作,在selenium 中提供了下列鼠标相关操作。

ActionChains 类似提供了以下方法:

context_click() 右击

double_click() 双击

drag_and_drop() 拖拽手把手带你学python自动化测试(五)——鼠标键盘操作_第1张图片
鼠标右击

模拟用户在 LMD 登陆界面,在输入邮箱地址的输入框右键,但是这里本身没有定义右

键,所以只能打开右键,而无法操作右键,如果在项目中有用到,那右键后的菜单也

可以随行定位,并操作。示例:

from selenium import webdriver
26
driver=webdriver.Firefox()
driver.get('http://www.chuangyijia.com/admin/login')
driver.implicitly_wait(3)
test=driver.find_element_by_id('email')
找到要执行右键操作的元素
ActionChains(driver).context_click(test).perform()
对被操作元素执行右键

鼠标双击

from selenium import webdriver
driver=webdriver.Firefox()
driver.get('http://www.chuangyijia.com/admin/login')
driver.implicitly_wait(3)
test=driver.find_element_by_id('email')
找到要执行右键操
ActionChains(driver).double_click(test).perform()

对被操作元素执行双击

鼠标拖放

在一些 web 页面中,一些菜单需要将鼠标放上去,才会显示它的子菜单,在这

种情况下,自动化需要模拟人为将鼠标放到菜单上。

下面通过百度页面来实现这个操作,在百度页面中,要对搜素的设置列行设置,

这种操作需要将鼠标放到页面的设置菜单中,才能看到搜索设置,才能进行下一步的

操作。代码如下:

driver.get('https://www.baidu.com')
打开百度页面
seting=driver.find_element_by_link_text('设置')
找到设置
ActionChains(driver).move_to_element(seting).perform()
将鼠标移动到设置菜单上
driver.find_element_by_link_text('搜索设置').click()

点击设置下的搜索设置

按键用法

使用键盘时,需要导入
selenium.webdriver.common.keys 中的 Keys 模块。

下面代码模拟用户通过键盘向邮箱地址中输入一个数字。

driver.find_element_by_xpath('//form[@id="login"]/input[1]').
send_keys(Keys.NUMPAD3)
Keys.NUMPAD3 表示从键盘输入数字 3

下面模拟操作 tab 键和 enter 键

driver.find_element_by_xpath('//form[@id="login"]/input[1]').
send_keys('[email protected]')
输入邮箱
driver.find_element_by_xpath('//form[@id="login"]/input[2]').
send_keys('12345678')
输入密码
driver.find_element_by_xpath('//form[@id="login"]/input[2]').
send_keys(Keys.TAB)
按下 tab 键
driver.find_element_by_xpath('//form[@id="login"]/button').se
nd_keys(Keys.ENTER)
按下回车键

通过上面的代码能够看出,输入邮箱和密码之后,按下 tab 键,操作会切换到登录按键

钮上,然后在登陆按钮上模拟用户按下 enter 键。

弼然这样的操作需要按业务的顺序来的,否则会出错。

组合键

在 web 页面使用键盘除了上面的操作之外,还可能会有其他操作,比如组合键。

接下来,通过代码模拟用户在界面输入邮箱地址之后,使用 ctrl+a 的方式,将其全选,

然后再使用 ctrl+c 的方式将内容复制出来,登陆成功后,将复制的内容粘贴到创意列

表的标题中。代码如下:

driver.find_element_by_xpath('//form[@id="login"]/input[1]').
send_keys('[email protected]')
输入邮箱地址
driver.find_element_by_xpath('//form[@id="login"]/input[1]').
send_keys(Keys.CONTROL,'a')
将输入的字符串使用 ctrl+a 键全选
driver.find_element_by_xpath('//form[@id="login"]/input[1]').
send_keys(Keys.CONTROL,'c')
在按下 ctrl+c,将全选的内容复制到剪切板
driver.find_element_by_xpath('//form[@id="login"]/input[2]').
send_keys('12345678')
输入密码
driver.find_element_by_xpath('//button[contains(text(),"登录
")]').click()
登陆
#sleep(2)
driver.implicitly_wait(3)
driver.find_element_by_css_selector('#dashboard-menu > 
li:nth-child(2) > a:nth-child(1)').click()
点击待审核管理
driver.find_element_by_css_selector('#input01').send_keys(Key
s.CONTROL,'v')
在搜索栏中的标题输入框中,用 ctrl+v 粘贴到输入框

最后感谢每一个认真阅读我文章的人,下面这个网盘链接也是我费了几天时间整理的非常全面的,希望也能帮助到有需要的你!

手把手带你学python自动化测试(五)——鼠标键盘操作_第2张图片

这些资料,对于想转行做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……

如果你不想一个人野蛮生长,找不到系统的资料,问题得不到帮助,坚持几天便放弃的感受的话,可以点击下方小卡片加入我们群,大家可以一起讨论交流,里面会有各种软件测试资料和技术交流。

点击文末小卡片领取

敲字不易,如果此文章对你有帮助的话,点个赞收个藏来个关注,给作者一个鼓励。也方便你下次能够快速查找。

自学推荐B站视频:

零基础转行软件测试:25天从零基础转行到入职软件测试岗,今天学完,明天就业。【包括功能/接口/自动化/python自动化测试/性能/测试开发】

自动化测试进阶:2022B站首推超详细python自动化软件测试实战教程,备战金三银四跳槽季,进阶学完暴涨20K

你可能感兴趣的:(python,软件测试,程序员,自动化测试,selenium)