python实现鼠标键盘事件_鼠标与键盘操作事件

鼠标事件

鼠标事件包含在ActionChains类中,导入时只需要:

from selenium.webdriver.common.action_chains import ActionChains

导入类即可:

常用的方法有:

context_click()  ——右键单击

double_click()  ——双击

drag_and_drop(鼠标按下的元素,鼠标释放的元素)  ——拖动

move_to_element()  ——鼠标悬停在一个元素上

click_and_hold()  ——按下鼠标左键在一个元素上

需要注意的是,这些ActionChains类中对鼠标的操作,在执行的时候需要加perform才可以执行。

来一段代码,大家看一下效果:

# coding: utf-8

from selenium import webdriver

from time import sleep

from selenium.webdriver.common.action_chains import ActionChainsoptions = webdriver.ChromeOptions()

options.add_argument('disable-infobars')

driver = webdriver.Chrome(chrome_options=options)

# driver = webdriver.Chrome()

driver.get("http://www.jrj.com.cn/")

sleep(2)

source = driver.find_element_by_xpath(".//*[@id='appherw']")

ActionChains(driver).move_to_element(source).perform()

额,不得不说,我踩到坑了……大家也发现了,我用的是chrome浏览器,没错,因为Firefox就是拖动不了……我百度了一大圈也没找到原因。只能和大家说一下我的chrome版本了;此外如果大家不像我那样写而是直接webdriver.Chrom(),运行是没问题的,但是chrome打开时会显示一行字——“chrome正受到自动测试软件的控制”。用chrome的话就得安装chromedriver了。

上面的代码运行后会发现下面显示出了二维码——这正是鼠标移动上去时候的响应。

再提醒大家一遍,鼠标的操作要有.perform()哦。

键盘事件

键盘事件,就是键盘上的一些操作,比如Ctrl +C,Ctrl+V,Ctrl+X等。

对键盘的操作需要导入另一个键盘的库:

from selenium.webdriver.common.keys import Keys

举个例子,你要在搜索框输入“自动化测试”,但是现在又想搜“自动化测”,就是删掉一个字,我们知道,就是摁一下键盘上的Backspace键就可以了,这时候你就需要键盘操作了:

driver.find_element_by_xpath("xpath的定位").send_keys(Keys.BACK_SPACE)

如果对软件测试、接口测试、自动化测试、面试经验交流。感兴趣可以加软件测试交流:1085991341,还会有同行一起技术交流。

这样就可以了。

接下来来段代码,大家就记住了:

# coding: utf-8

from selenium import webdriver

from time import sleep

from selenium.webdriver.common.keys import Keys

driver = webdriver.Firefox()

driver.get("http://www.baidu.com")

# 输入框输入内容

driver.find_element_by_id("kw").send_keys("selenium")

sleep(3)

# 删除多输入的一个 m

driver.find_element_by_id("kw").send_keys(Keys.BACK_SPACE)

sleep(3)

# 继续输入“教程”

driver.find_element_by_id("kw").send_keys(u"教程")

sleep(3)

# ctrl+a 全选输入框内容

driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'a')

sleep(3)

# ctrl+x 剪切输入框内容

driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'x')

sleep(3)

# 输入框重新输入内容,搜索

driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'v')

sleep(3)

# 通过回车键盘来代替点击操作

driver.find_element_by_id("su").send_keys(Keys.ENTER)

sleep(3)

driver.quit()

了解以上内容就差不多了,如果遇到新的需要只需要百度一下,要知道我们不可能把所有东西都记在脑子里的,只要入门了,知道怎么百度了,那目的就算是达到了,当然记住的话就更好了。

以上内容希望对你有帮助,有被帮助到的朋友欢迎点赞,评论。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值