zoukankan      html  css  js  c++  java
  • 《selenium2 python 自动化测试实战》(4)——鼠标事件

    鼠标事件包含在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 ActionChains
    options = 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了……QQ群里我已经上传了,包括这个版本的chrome,此外除了chromdriver外建议大家顺便把geckodriver也一起放进去,放到python文件夹就可以。或者大家可以自己百度一下或者在任意技术群应该都有这些群文件可以下载的。我暂时还不想开放QQ群。

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

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

            这些东西都是死的,大家只要能看明白,这次即使记不住,用的时候只需要找出来看看就能立刻写出来的。

            坑真多……,我是没想到Firefox不行,哈哈

    微信公众号搜索“自动化测试实战”或扫描下方二维码添加关注~~~

  • 相关阅读:
    window.open打开新的独立页面
    域名如何添加解析?
    URL 链接中的 UTM参数何定义?
    学习总结【匿名函数,匿名自执行函数】
    CSS布局之Flex布局
    CSS布局之display: tables布局
    CSS里盒子模型中【margin垂直方向边界叠加】问题及解决方案
    Hibernate 事务管理
    Hibernate 二级缓存
    Hibernate c3p0的整合
  • 原文地址:https://www.cnblogs.com/captainmeng/p/7860313.html
Copyright © 2011-2022 走看看