selenium +python的基础知识

来源:互联网 发布:门诊收费系统源码 编辑:程序博客网 时间:2024/05/17 06:41

一、操作浏览器的方法:

from selenium import webdriver

b= webdriver.Firefox()

打开一个浏览器;

b.get("浏览器地址")

b.title:得到当前打开网页的标题

b.current_url:得到当前打开网页的url地址

b.maximize_window ():浏览器最大化

判断是否正确:

采用关键字:

标题:'关键字' in b.title

url:'关键字' in b.current

浏览器回退:b.back()

二、定位元素的方法:

id  b.find_element_by_id()

name b.find_element_by_name()

class name  b.find_element_by_class_name()

tag name b.find_element_by_tag_name()

link text b.find_element_by_link_text()

partial link text b.find_element_by_partial_link_text()

xpath b.find_element_by_xpath()

css selector b.find_element_by_css_selector()


三、定位到元素后的基本操作

元素.clear() :清楚元素内容

元素.send_keys() 模拟按键输入

元素.click() 点击

元素.submit() 提交表单


四、定位到元素后查看元素属性

元素.get_attribute('属性名')


五、xpath定位元素的方法:

/xxx :选取根节点

/xxx/yyy: 根据绝对路劲选择元素

//xxx:整个文档扫描,找到所有xxx元素

//xxx/yyy:所有父元素为xxx的yyy元素

.:选取当前节点的父元素节点

..:选取父元素地址

//xxx[@id]:选取所有xxx元素中有id属性的元素

//xxx[@id=yyy]:选取所有xxx元素中id属性为yyy的元素

复杂选择过程:

//*[count(xxx)=2] :统计xxx元素个数=2的节点

//*[local-name()='xxx'] :找到tag为xxx的元素

//*[starts-with(local-name(),'x')]:找到所有tag以x开头的元素

//*[contains(local-name(),'x')]:找到所有tag包含x的元素

//*[string-length(local-name())=3]:找到所有tag 长度为3的元素

//xxx|//yyy:多个路径查找

last():获取符合条件的最后一个元素


六、鼠标和键盘事件(ActionChains类与输入事件)

1、from selenium.webdriver.common.action_chains import ActionChains:导入模块

七、多个窗口之间的切换

1、d.window_handles:查看所有的浏览器句柄

2、d.current_window_handle:查看当前浏览器句柄

3、d.switch_to_window(d.window_handles[索引]):切换句柄

八、测试脚本中的等待方法(如果找得到就可以立马返回,如果找不到则在超时时间内会继续找,知道超时了就报错)

1、采用time.sleep()方法等待

2、采用selenium中的等待方法

      1)implicitly_wait():设置webdriver等待时间

      2)WebDriverWait:等待条件满足或者超时后退出from selenium.webdriver.support.ui import WebDriverWait

http://blog.csdn.net/huilan_same/article/details/52544521

def get_ele_times(driver,times,func):

return WebDriverWait(driver,times).until(func)

调用此方法:

ele_login = get_ele_times(d,10, lambda d:d.find_element_by_link_text(login_text))

九、alert对话框的处理

switch_to_alert():切到alert,返回一个alert对象

accept:确认

dismiss:取消

send_keys():有输入框才能使用,否则报错



原创粉丝点击