有些特殊的系统可能需要模拟键盘或者鼠标的操作才可以

鼠标的操作不仅仅是click()单击操作,还有很多包含在ActionChains类中

  context_click(elem)  右击鼠标点击元素elem,另存为等行为

  double_click(elem)  双击鼠标点击元素elem,地图web可实现放大

  drag_and_drop(source,target)  拖动鼠标,源元素按下左键移动至目标元素释放

  move_to_element(elem)  鼠标移动到一个元素上,也就是鼠标悬浮

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

  perform()  再通过调用该函数执行AcitonChains中存储的行为

实例:

百度搜索首页:设置:搜索设置

设置是悬浮的,选中搜索设置

#! /usr/bin/env python
#coding=utf-8 from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time '''
百度搜索首页:设置:搜索设置
'''
driver = webdriver.Firefox()
driver.get("https://www.baidu.com/")
time.sleep(3) #利用链接,定位到"设置"元素
mm = driver.find_element_by_link_text("设置")
ActionChains(driver).move_to_element(mm).perform() time.sleep(3) driver.find_element_by_link_text("搜索设置").click()
time.sleep(5) driver.quit()

百度首页-百度log图片-右键点击

#! /usr/bin/env python
#coding=utf-8 from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time driver = webdriver.Firefox()
driver.get("https://www.baidu.com/")
time.sleep(3) #鼠标移动到图片上,右击
elem_pic = driver.find_element_by_xpath(".//*[@id='lg']/img")
print("图片资源地址:",elem_pic.get_attribute("src"))
action = ActionChains(driver).move_to_element(elem_pic)
action.context_click(elem_pic) action.perform()
time.sleep(5)
driver.quit()

结果:图片资源地址: https://www.baidu.com/img/bd_logo1.png

Selenium-鼠标操作的更多相关文章

  1. selenium鼠标操作

    #-*- coding:utf-8 -*- import time from selenium import webdriver from selenium.webdriver.common.acti ...

  2. Python+Selenium - 鼠标操作

    鼠标操作类:action_chains模块的ActionChains类 使用组成:操作 + 执行(perform()) 导入代码 from selenium.webdriver.common.acti ...

  3. selenium鼠标操作 包含右击和浮层菜单的选择

    感谢http://www.cnblogs.com/tobecrazy/p/3969390.html  博友的分享 最近在学习selenium的一些鼠标的相关操作 自己在百度的相关操作代码 /** * ...

  4. python selenium鼠标键盘操作(ActionChains)

    用selenium做自动化,有时候会遇到需要模拟鼠标操作才能进行的情况,比如单击.双击.点击鼠标右键.拖拽等等.而selenium给我们提供了一个类来处理这类事件--ActionChains sele ...

  5. Selenium基础知识(二)鼠标操作

    一.鼠标操作 这个需要使用webdriver下的ActionChains类,这个类是操作鼠标操作的: from selenium.webdriver import ActionChains 鼠标操作可 ...

  6. selenium自动化之鼠标操作

    在做自动化测试的时候,经常会遇到这种情况,某个页面元素,你必须要把鼠标移动到上面才能显示出元素.那么这种情况,我们怎么处理呢?,selenium给我们提供了一个类来处理这类事件——ActionChai ...

  7. selenium - webdriver - ActionChains类(鼠标操作)

    ActionChains 类提供了鼠标操作的常用方法: perform(): 执行所有 ActionChains 中存储的行为: context_click(): 右击: double_click() ...

  8. selenium + python(鼠标操作)

    关于最近学习selenium自动化测试鼠标操作的一些总结 常见的鼠标操作

  9. python+selenium 鼠标事件操作

    一.前言 除了可以使用 click( ) 来模拟鼠标的单击操作,现在Web产品中还提供了更丰富的鼠标交互方式,例如鼠标右键.双击.悬停.拖动等功能,在WebDriver中,将这些关于鼠标操作的方法都封 ...

  10. Selenium示例集锦--常见元素识别方法、下拉框、文本域及富文本框、鼠标操作、一组元素定位、弹窗、多窗口处理、JS、frame、文件上传和下载

    元素定位及其他操作 0.常见的识别元素的方法是什么? driver.find_element_by_id() driver.find_element_by_name() driver.find_ele ...

随机推荐

  1. windows 下 Rabbitmq 配置远程访问

    1.运行-->CMD 2.定位到Rabbitmq 安装路径下的 sbin目录,执行 :rabbitmq-plugins enable rabbitmq_management 3.登录web控制台 ...

  2. Oracle关于快速缓存区应用原理

    为什么oracle可以对于大量数据进行訪问时候能彰显出更加出色表现,就是通过所谓的快速缓存来实现数据的快速运算与操作.在之前的博文中我已经说过sql的运行原理,当我们訪问数据库的数据时候,首先不是从数 ...

  3. json性能测试

    http://www.open-open.com/lib/view/open1434377191317.html

  4. ios -富文本和尺寸

    /** *  计算文本的宽高 方法 2 * *  @param str     需要计算的文本 *  @param font    文本显示的字体 *  @param maxSize 文本显示的范围 ...

  5. 【原创】Hibernate自动生成(1)

    本实战是博主初次学习Java,分析WCP源码时,学习HibernateTools部分的实战,由于初次接触,难免错误,仅供参考,希望批评指正. 开发环境: Eclipse Version: Photon ...

  6. git生成public key

    1 配置user name和email git config --global user.name "xxx" git config --global user.email &qu ...

  7. A norm is a function. 范数是函数。

    [范数]范数是函数.A norm is a function.范数(norm),是具有“长度”概念的函数.在线性代数.泛函分析及相关的数学领域,是一个函数,其为向量空间内的所有向量赋予非零的正长度或大 ...

  8. 我的Android进阶之旅------>Android关于ImageSpan和SpannableString的初步了解

    最近要实现一个类似QQ聊天输入框,在输入框中可以同时输入文字和表情图像的功能.如下图所示的效果: 为了实现这个效果,先去了解了一下ImageSpan和SpannableString的用法.下面用一个小 ...

  9. linux c编程:线程退出

    在线程创建的时候pthread_exit都是调用的固定参数,我们先来看下如果用自动变量作为pthread_exit的参数时出现的问题 typedef struct foo{ int a; int b; ...

  10. Jquery定义对象( 闭包)

    转自:http://www.cnblogs.com/springsnow/archive/2010/06/03/1750832.html 例一:添加对象的静态属性 声明一个对象$.problemWo, ...