一、
浏览器的操作
from
selenium import
webdriver
driver = webdriver.Firefox()
1、driver.maximize_window()
#将浏览器最大化显示
2、driver.set_window_size(480, 800) #设置浏览器宽480、高800显示
3、driver.back() #浏览器的后退
4、driver.forward() #浏览器的前进
二、
简单对象的定位
find_element_by_id()
find_element_by_name()
find_element_by_class_name()
find_element_by_tag_name()
find_element_by_link_text()
find_element_by_partial_link_text() #部分连接的内容来定位find_element_by_xpath()
find_element_by_css_selector()
例:driver.find_elements_by_css_selector('input[type=checkbox]'
)
XPath 的定位方式非常灵活和强大的,firebug
的
HTML 和 firePath
可以非常方便的通过
XPath 方式对页面元素进行定位。而且
XPath 可以做布尔逻辑运算,例如:
//div[@id=’ hd’ or
@name=’ q’ ]。
但是缺陷也非常明显: 1、 性能差, 定位元素的性能要比其它大多数方式差;
2、 不够健壮,XPath会随着页面元素布局的改变而改变;
3. 兼容性不好,在不同的浏览器下对
XPath 的实现是不一样的。
三、
操作测试对象
1、webdriver
中比较常用的操作元素的方法有下面几个:
S
clear 清除元素(如:输入框)的内容:driver.find_element_by_id("user_name").clear()
S
send_keys 在元素上模拟按键输入:driver.find_element_by_id("user_name").send_keys("username")
S
click 单击元素(按钮、下拉框、图片、链接等):driver.find_element_by_id("dl_an_submit").click()
S
submit 提交表单:driver.find_element_by_id("dl_an_submit").submit()
2、WebElement
接口常用方法:
size:返回元素的尺寸
例:size=driver.find_element_by_id("kw").size
text:获取元素的文本
例:text=driver.find_element_by_id("cp").text
get_attribute(name):获得属性值
例:attribute=driver.find_element_by_id("kw").get_attribute('type'
)
is_displayed():设置该元素是否用户可见
例:result=driver.find_element_by_id("kw").is_displayed()
四、
鼠标事件
from
selenium.webdriver.common.action_chains import ActionChains
注:import后的方法的大小写。
S
click() 单击
S
context_click() 右击
S
double_click() 双击 (web程序中常应用于地图操作)
S
drag_and_drop(source,target) 拖动
S
move_to_element() 鼠标悬停在一个元素上<