selenium 操作测试对象

来源:互联网 发布:stc单片机怎么样 编辑:程序博客网 时间:2024/06/06 03:56

1、鼠标点击与键盘输入

browser.find_element_by_id("kw").send_keys("XXX") ---用于在输入框里输入 内容

browser.find_element_by_id("kw")click()  用于点击一个按钮

browser.find_element_by_id("kw").clear() 清除输入框里面的内容


2、submit提交表单


3、text获取元素文本

data=driver.find_element_by_id("cp").text



4、get_attribute获得属性值

select = driver.find_element_by_tag_name("select")allOptions = select.find_elements_by_tag_name("option")for option in allOptions:
   print "Value is: " + option.get_attribute("value")

5、键盘事件

#coding=utf-8

fromseleniumimportwebdriver
fromselenium.webdriver.common.keysimportKeys#需要引入keysimportos,time

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

time.sleep(3)driver.maximize_window() # 浏览器全屏显示

driver.find_element_by_id("user_name").clear()driver.find_element_by_id("user_name").send_keys("fnngj")

#tab 的定位相相于清除了密码框的默认提示信息,等同上面的 clear()driver.find_element_by_id("user_name").send_keys(Keys.TAB)time.sleep(3)driver.find_element_by_id("user_pwd").send_keys("123456")

#通过定位密码框,enter(回车)来代替登陆按钮driver.find_element_by_id("user_pwd").send_keys(Keys.ENTER)

'''
#
也可定位登陆按钮,通过 enter(回车)代替 click()driver.find_element_by_id("login").send_keys(Keys.ENTER)'''
time.sleep(3)



 

6、键盘组合键用法


7、中文乱码问题
selenium2 python 在 send_keys()中输入中文一直报错,其实前面加个小 u 就解决了:

需要注意的是 utf-8并不是万能的,我们需要保持脚本、浏览器、程序三者编码之间的转换;如果 utf-8不能解决,可以尝试 GBK 或修改浏览器的默认编码。


8、鼠标事件

context_click() 右击double_click() 双击drag_and_drop() 拖动


鼠标右键


coding=utf-8
from selenium import webdriverfrom selenium.webdriver.common.action_chains import ActionChainsimport 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]")

鼠标双击的写法:

#定位到要双击的元素qqq =driver.find_element_by_xpath("xxx")#对定位到的元素执行鼠标双击操作ActionChains(driver).double_click(qqq).perform()

 

#对定位到的元素执行鼠标右键操作ActionChains(driver).context_click(qqq).perform()


鼠标拖放操作的写法:

#定位元素的原位置
element = driver.find_element_by_name("source")#定位元素要移动到的目标位置
target = driver.find_element_by_name("target")

#执行元素的移动操作
ActionChains(driver).drag_and_drop(element, target).perform()


0 0
原创粉丝点击