五、selenium05 元素操作api&鼠标事件

目录

1、常用元素操作API

1.1 常用四种操作

1.2 获取的方法:

1.3 判断的三种方法:

1.4 其他

1.5 截图 screenshot()

2、鼠标键盘操作

ActionChains类中鼠标操作常用方法:

2.1鼠标右击操作:

2.2 悬浮 move_to_element()

2.3 长按 click_and_hold() :按下鼠标左键在一个元素上


元素定位需要两部分:① 元素信息(浏览器开发者工具) ②代码定位元素的api(id,name,xppth,css等方法)

元素识别后就是要对元素进行操作

用火狐定位元素,用谷歌做自动化测试比较好。

注意:元素信息用复制的方式+引号的使用:外面用单,里面就用双,防止匹配失败

五、selenium05 元素操作api&鼠标事件

 

Shift+enter 快速换行
 

1、常用元素操作API

定位到元素后,需要对元素进行操作,常见的有鼠标点击、键盘操作等,

这取决于我们定位到的对象支撑哪些操作。一般来说,所有与页面交互的操

作都将通过WebElement接口。

webdriver中常用的操作元素的方法有如下几个:

1.1 常用四种操作

clear(): 清除对象的内容

driver.find_element_by_id('kw').clear()

send_keys(): 在对象上模拟按键输入

driver.find_element(By.ID,'kw').send_keys("12306")

click(): 单击对象,强调对象的独立性

driver.find_element(By.ID,'su').click()

submit() : 提交表单,要求对象必须是表单,表单就是form

driver.find_element(By.ID,'form').submit()

①提交表单的(get post协议提交) ②解决大表单的提交按钮 不好定位的问题,不用click(),直接submit()

注意:这种情况不能有name=’submit’的元素,否则该元素会和submit()方法造成混淆,导致错误。

 

1.2 获取的方法:

size : 返回对象的尺寸

driver.find_element_by_css_selector("#J_username").size

五、selenium05 元素操作api&鼠标事件

 

text : 获取对象的文本

driver.find_element_by_css_selector("a.sendpwd").text

五、selenium05 元素操作api&鼠标事件

 

get_attribute(“属性名”):获取对象的属性值

driver.find_element_by_css_selector("#J_username").get_attribute("name")

 

1.3 判断的三种方法:

is_displayed():用来判断对象是否可见,即css的display属性是否为none

driver.find_element_by_css_selector("#J_username").is_displayed()

五、selenium05 元素操作api&鼠标事件

 

is_enabled():判断对象是否被禁用 是否可用

driver.find_element_by_css_selector("#J_username").is_enabled()

五、selenium05 元素操作api&鼠标事件

 

is_selected():判断对象是否被选中。

driver.find_element_by_id("head_checkbox").is_selected()

 

 

五、selenium05 元素操作api&鼠标事件

五、selenium05 元素操作api&鼠标事件

1.4 其他

tag_name:获取对象标签名称

driver.find_element_by_id("head_checkbox").tag_name

location:获取元素坐标

driver.find_element_by_id("head_checkbox").location

 

1.5 对元素截图 screenshot()

五、selenium05 元素操作api&鼠标事件

 

2、鼠标键盘操作

在实际的web产品测试中,对于鼠标的操作,不单单只有click(),有时候

还要用到右击、双击、拖动等操作,这些操作包含在ActionChains类中。(所以先导入类)

from selenium.webdriver.common.action_chains import ActionChains

 

ActionChains类中鼠标操作常用方法:

⚫ context_click() :右击

⚫ double_click() :双击

⚫ drag_and_drop() :拖动

⚫ move_to_element() :鼠标移动到一个元素上

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

2.1鼠标右击操作:

mouse.context_click(元素对象).perform()

五、selenium05 元素操作api&鼠标事件

模拟鼠标点击:

ActionChains(driver).click(元素对象).release(元素对象).perform()

 

mouse是类的对象

perform是执行的意思

 

2.2 悬浮 move_to_element()

 

五、selenium05 元素操作api&鼠标事件

五、selenium05 元素操作api&鼠标事件

 

2.3 长按 click_and_hold() :按下鼠标左键在一个元素上

 

五、selenium05 元素操作api&鼠标事件

链条命令,可以写很长

Pause 按住10s

Release 释放 放开

Perform 执行