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

经常使用定位方法有:css

id html

nameweb

class name 浏览器

tag name 测试

link text ui

partial link textspa

xpath code

css selctororm

对应的方法: htm

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)
相关文章
相关标签/搜索