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

常用定位方法有:

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)
原文地址:https://www.cnblogs.com/guog1/p/8475465.html