selenium + python 鼠标事件

selenium + python 鼠标事件

十、鼠标事件

本章重点:

ActionChains 类

?

context_click()

右击

?

double_click()

双击

?

drag_and_drop()

拖动

测试的产品中有一个操作是右键点击文件列表会弹出一个快捷菜单,可以方

便的选择快捷菜单中的选择对文件进行操作(删除、移动、重命名),之前学习

元素的点击非常简单:

driver.find_element_by_id(“xxx”).click()

博客园—虫师

http://fnng.cnblogs.com

26

那么鼠标的双击、右击、拖动等是否也是这样的写法呢?例如右击:

driver.find_element_by_id(“xxx”).context_click()

经过运行脚本得到了下面的错误提示:

AttributeError: ‘WebElement‘ object has no attribute ‘context_click‘

提示右点方法不属于 webelement 对象,通过查找文档,发现属于

ActionChains 类,但文档中没有具体写法。这里要感谢 北京-QC-rabbit 的指

点,其实整个 python+selenium 学习过程都要感谢 北京-QC-rabbit 的指点。

10.1、鼠标右键

下面介绍鼠标右键的用法,以快播私有云为例:

#coding=utf-8

from selenium import webdriver

from selenium.webdriver.common.action_chains import ActionChains

import time

driver = webdriver.Firefox()

driver.get("http://passport.kuaibo.com/login/?referrer=http%3A%2F%2Fwebcloud

.kuaibo.com%2F")

#登陆快播私有云

driver.find_element_by_id("user_name").send_keys("username")

driver.find_element_by_id("user_pwd").send_keys("123456")

driver.find_element_by_id("dl_an_submit").click()

time.sleep(3)

#定位到要右击的元素

qqq

=driver.find_element_by_xpath("/html/body/div/div[2]/div[2]/div/div[3]/table

/tbody/tr/td[2]")

#对定位到的元素执行鼠标右键操作

ActionChains(driver).context_click(qqq).perform()

博客园—虫师

http://fnng.cnblogs.com

27

‘‘‘

#你也可以使用三行的写法,但我觉得上面两行写法更容易理解

chain = ActionChains(driver)

implement =

driver.find_element_by_xpath("/html/body/div/div[2]/div[2]/div/div[3]/table/

tbody/tr/td[2]")

chain.context_click(implement).perform()

‘‘‘

time.sleep(3) #休眠3秒

driver.close()

这里需要注意的是,在使用 ActionChains 类之前,要先将包引入。

右击的操作会了,下面的其它方法比葫芦画瓢也能写出来。

10.2、鼠标双击

鼠标双击的写法:

#定位到要双击的元素

qqq =driver.find_element_by_xpath("xxx")

#对定位到的元素执行鼠标双击操作

ActionChains(driver).double_click(qqq).perform()

10.3、鼠标拖放

鼠标拖放操作的写法:

#定位元素的原位置

element = driver.find_element_by_name("source")

#定位元素要移动到的目标位置

target =

driver.find_element_by_name("target")

博客园—虫师

http://fnng.cnblogs.com

28

#执行元素的移动操作

ActionChains(driver).drag_and_drop(element, target).perform()

时间: 2024-10-10 18:56:49

selenium + python 鼠标事件的相关文章

selenium之鼠标事件

1.鼠标悬停火狐版本51,selenium版本3ActionChains(driver).move_to_element(above).perform()执行代码时,报错:selenium.common.exceptions.WebDriverException: Message: POST /session/e64653d2-498d-426a-9731-da64933e46c1/moveto did not match a known command 这是Mozilla/geckodrive

selenium python (三)鼠标事件

# -*- coding: utf-8 -*-#鼠标事件 #ActionChains类中包括:context_click()  右击:                        # double_click() 双击:                        # drag_and_drop() 拖动:                        # move_to_element()鼠标悬停在一个元素上:                        # click_and_hold

Python游戏引擎开发(五):Sprite精灵类和鼠标事件

本次来实现Sprite类和鼠标事件. 说起这个Sprite啊,涉及过2D游戏研究领域的看官应该都听说过它.它中文原意是"精灵",不过在不同人的眼中,它所表示的意义不同.比如说在cocos2d中,它可以是一张图片.不过在flash中,Sprite是一个类似于"层"的家伙.当然你把它定义为层并不是很准确,实际上它是一个含显示列表的显示对象.什么意思呢?各位看官如果阅读了前面的章节,那对显示列表并不陌生.它说白了就是一个包含其他显示对象的容器. 那也许你会想,为什么要有这

selenium键盘事件和鼠标事件

模拟鼠标事件 1.from selenium.webdriver.common.action_chains import ActionChains 2:ActionChains(driver):用于生成模拟用户行为 3:perform():执行存储行为 表达式 说明 context_click 右击事件 double_click 双击事件 drag_and_drop 拖动 move_to_element() 鼠标停在一个元素上 click_and_hold 按下鼠标左键在一个元素上 exampl

Selenium2+python自动化12-操作元素(键盘和鼠标事件)

前言 在前面的几篇中重点介绍了一些元素的到位方法,到位到元素后,接下来就是需要操作元素了.本篇总结了web页面常用的一些操作元素方法,可以统称为行为事件 有些web界面的选项菜单需要鼠标悬停在某个元素上才能显示出来(如百度页面的设置按钮). 一.简单操作 1.点击(鼠标左键)页面按钮:click() 2.请空输入框:clear() 3.输入字符串:send_keys() 4.打开测试部落论坛后,点击放大镜搜索图标,一般为了保证输入的正确性,可以先清空下输入框,然后输入搜索关键字 二.submit

Selenium WebDriver 中鼠标事件(全)

Selenium WebDriver 中鼠标事件(全) 鼠标点击操作  鼠标点击事件有以下几种类型:  清单 1. 鼠标左键点击 Actions action = new Actions(driver);action.click();// 鼠标左键在当前停留的位置做单击操作 action.click(driver.findElement(By.name(element)))// 鼠标左键点击指定的元素 清单 2. 鼠标右键点击 Actions action = new Actions(drive

Selenium2+python自动化12-操作元素(键盘和鼠标事件)【转载】

前言 在前面的几篇中重点介绍了一些元素的到位方法,到位到元素后,接下来就是需要操作元素了.本篇总结了web页面常用的一些操作元素方法,可以统称为行为事件 有些web界面的选项菜单需要鼠标悬停在某个元素上才能显示出来(如百度页面的设置按钮). 一.简单操作 1.点击(鼠标左键)页面按钮:click() 2.请空输入框:clear() 3.输入字符串:send_keys() 4.打开测试部落论坛后,点击放大镜搜索图标,一般为了保证输入的正确性,可以先清空下输入框,然后输入搜索关键字 二.submit

selenium+python自动化94-行为事件(ActionChains)源码详解

ActionChains简介 actionchains是selenium里面专门处理鼠标相关的操作如:鼠标移动,鼠标按钮操作,按键和上下文菜单(鼠标右键)交互.这对于做更复杂的动作非常有用,比如悬停和拖放. actionchains也可以和快捷键结合起来使用,如ctrl,shif,alt结合鼠标一起使用 当你使用actionchains对象方法,行为事件是存储在actionchains对象队列.当你使用perform(),事件按顺序执行. 方法一:可以写一长串 menu = driver.fin

selenium鼠标事件与键盘事件

鼠标事件,包含在ActionChains类中,常用方法如下: context_click() 右击double_click() 双击drag_and_drop() 拖动move_to_element() 鼠标悬停在一个元素上click_and_hold() 按下鼠标左键在一个元素上不放 键盘事件,包含在Keys类中,常用方法如下: send_keys(Keys.BACK_SPACE) 删除键(BackSpace)send_keys(Keys.SPACE) 空格键(Space)send_keys(