美文网首页
鼠标与键盘操作事件

鼠标与键盘操作事件

作者: 茶浅呀 | 来源:发表于2020-05-31 15:00 被阅读0次

    鼠标事件

    鼠标事件包含在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()
    

    了解以上内容就差不多了,如果遇到新的需要只需要百度一下,要知道我们不可能把所有东西都记在脑子里的,只要入门了,知道怎么百度了,那目的就算是达到了,当然记住的话就更好了。
    以上内容希望对你有帮助,有被帮助到的朋友欢迎点赞,评论。

    相关文章

      网友评论

          本文标题:鼠标与键盘操作事件

          本文链接:https://www.haomeiwen.com/subject/wwolzhtx.html