元素操作定位方法,鼠标,键盘事件

Posted 藤上小冬瓜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了元素操作定位方法,鼠标,键盘事件相关的知识,希望对你有一定的参考价值。

常用定位方法有:

id name class name tag name link text partial link text xpath css selctor 对应的方法: find_element_by_id("kw") find_element_by_name("name") find_element_by_class_name("name") find_element_by_tag_name("input") find_element_by_link_text("贴吧") find_element_by_partial_link_text("") find_element_by_xpath("/html1/body/div[2]/form/span/input")#绝对数劲 find_element_by_xpath("//input[@id=‘input‘]")#通过自身的ID定位属性 find_element_by_xpath("//sapn[@id=‘input-container‘]/input")通过上一级ID定 find_element_by_xpath("//div[@id=‘hd‘]/from/sapn/input")#通过上三级ID定位 find_element_by_xpath("//div[@id=‘hd‘] or @name=‘q‘]") find_element_by_css_selector(div#eleid)#id为eleid

操作测试对象

clear()#清除输入框内容
send_keys("xx")#向输入框输入内容
send_keus(u"中文内容") #输入中文加u
click()#单击内容
submit()#提交表单

WebElement接口常用方法

返回元素尺寸

szie = driver.find_element_by_id("kw").size #返回百度输入框的尺寸
print size 
#输出结果:
{width: 500, height: 22}

text = driver.find_element_by_id("cp").text#返回百度底部备案信息
print text
#输出结果:
?2018 Baidu 使用百度前必读 意见反馈 京ICP证030173号  京公网安备11000002000001号arr
result
= driver.find_element_by_id("kw").is_displayed #回元素的结果是否可见,
#返回True or false
print result #输出结果: True

鼠标事件

ActionChains#类鼠标操作常用方法
context_click()#右击
double_click()#双击
drag_and_drop#()拖动
move_to_element()#鼠标悬停在一个元素上
click_and_hold()#按下鼠标左键,在一个元素上

引入ActionChains类
from selenium.webdriver.common.action_chains.import ActionChains

鼠标右击操作
right = dirver.find_element_by_xpath("xx")#定位到需要右击的元素
ActionChains(driver).context_click(right).perform()#对元素进行右击操作

#ActionChains用于生成用户行为,将所有行为保存到ActionChains对象,通过perform去执行
#perform 是ActionChains类提供的方法,需要与ActionChains配合使用

鼠标双击操作
double = driver.find_element_by_xpath("xx")#定位到需要双击的元素
ActionChains(driver).double_click(double).perform() #双击操作

鼠标拖放操作
element = driver.find_element_by_name("xx")#定位鼠标原位置
target = drivere.find_element_by_name("xx")#定位鼠标要移动的目标位置
ActionChains(driver).drag_and_drop(elemtn,trager).perform()#执行移动的操作

鼠标移动到元素上
above = driver.find_element_by_xpath("xx")#定位鼠标移动到上面的元素
ActionChains(driver).move_to_element(above).perfrom#移动鼠标到定位的元素上

按下鼠标左键
left = driver.find_element_by_xpaht("xx")#定位到左键按下的元素
ActionChains(dirver).click_and_hold(left).perfrom

键盘事件

from selenium import webdriver
from selenium.webdriver.common.keys import keys #引包keys包
import time
driver = webdriver.Ie()
driver.get("http://www.baidu.com")
driver.find_element_by_id("kw").send_keys("selenium")#向输入框输入"selenium"
time.sleep(3)#等待3秒为了更能看清变化
driver.find_element_by_id("kw").send_keys(Keys.BACK_SPACE)#去掉框同的mm
driver.find_element_by_id("kw").send_keys(Keys.SPACE)#向输入框输入空格
driver.find_element_by_id("kw").send_keys(u"教程")#向输入框输入"教程"
driver.find_element_by_id_("kw").send_keys(Keys.CONTROL,"a")#全选输入框的内容
time.sleep(3)
driver.find_element_by_id("kw").send_keys(Keys.CONTROL,"C")#复制全选内容
driver.find_element_by_id("kw").send_keys(Keys.CONTROL,"X")#剪贴全选内容
driver.find_element_by_id("kw").send_keys(Keys.CONTROL,"V")#粘贴内容
driver.find_element_by_id("su").send_keys(Keys.ENTER)#通过键盘回车代替点击操作
time.sleep(3)
driver.quit()#关闭浏览器

send_keys(Keys.BACK_SPACE)#删除键
send_keys(Keys.SPACE)#空格键
send_keys(Keys.TAB)#制表键
send_keys(Keys.ESCAPE)#回退键
send_keys(Keys.ENTER)#回车键
send_keys(Keys.CONTROL,"a")#全选
send_keys(Keys.CONTROL,"C")#复制
send_keys(keys.CONTROL,"V")#粘贴
send_keys(Keys.CONTROL,"X")#剪切
注:(keys类所提供的所有按钮请查阅 webdriver API)

 

以上是关于元素操作定位方法,鼠标,键盘事件的主要内容,如果未能解决你的问题,请参考以下文章

Selenium 元素常用操作方法(键盘和鼠标事件)

开学了软测的同学在哪里-selenium-必须要懂的鼠标键盘事件+实战

selenium鼠标键盘事件

自动化测试基础篇--Selenium鼠标键盘事件

Selenium2学习-- 操作元素(键盘和鼠标事件)

[Python从零到壹] 九.网络爬虫之Selenium基础技术万字详解(定位元素常用方法键盘鼠标操作)