1.导入模块
from selenium import webdriver #导入selenium模块
b = webdrive.Chrome() #打开浏览器
b.get(‘网址’) #打开一个页面
b.title #判断访问元素的title
b.current_url #查看当期的url
clear() # 清除对象内容
submit() # 如果有submit按钮,自动提交表单
text # 获取文本信息
get_attribute() #获取属性值
b.back #返回
2.元素定位:(参数区分大小)
find_element_by_id() #根据id属性定位
find_element_by_name() #根据name属性定位
find_element_by_class_name() #根据class属性定位
find_element_by_link_text() #根据文字链接
find_element_by_partial_link_text() #根据文字链接的一部分(模糊查询)
find_element_by_tag_name() #根据标签名称
find_element_by_css_selector() #根据css选择器定位 在火狐浏览,可以用firebug直接采集
3.xpath定位
find_element_by_xpath() #根据xpath定位
/xxxx 让Xpath解析引擎从文档的根节点开始解析
/xxx/yyy 让Xpath解析引擎根据绝对路径进行解析
//xxx 以//开头表示相对路径,则表示让xpath引擎从文档的任意符合的元素节点开始进行解析,这里指整个文档中查找xxx元素
//xxx/yyy 所有父元素为xxx的yyy元素
//xxx[@id] 选取所有xxx中有id属性的元素
//xxx[@id=yyy] 选取所有xxx中有id属性为yyy的元素
注:一般不推荐使用绝对路径的写法,因为一旦页面结构发生变化,该路径也随之失效,必须重新写。
Eg:
//form[1]/input #查找页面上第一个form元素内的input元素
//form[@id='loginForm']/input[1] #查找页面上id为loginForm的form元素下的第一个input元素
//input[ @name='continue'][@type='button'] #查找页面具有name属性为contiune并且type属性为button的input元素
find_element_by_xpath("//div[@class='x' and name='b']")
4.WebElement对象的属性和方法: try语句做判断
tag_name #标签名,例如'a'表示<a>元素
get_attribute(name) # 该元素name的属性值
text #该元素内的文本,例如<span>hello</span>中的'hello'
clear() #对于文本字段或文本区域元素,清除其中输入的文本
is_displayed() #如果该元素可见,返回True,否则返回False
is_enabled() #对于输入元素,如果该元素启用,返回True,否则返回False
is_selected() #对于复选框或单选框元素,如果该元素被选中,返回True,否则返回False
location #一个字典,包含键'x'和'y',表示该元素在页面上的位置
5.鼠标操作:导入ActionChains包
from selenium.webdriver.common.action_chains import ActionChains
context_click #右击
double_click #双击
grag_and_drop #拖动
move_to_element() #鼠标停在某一元素上
click_and_hold 按下鼠标左键在某一元素上
6.键盘操作:(引入keys包)
from selenium.webdriver.common.keys import Keys
send_keys(“123”) #模拟按键输入值123
send_keys(Keys.BACK_SQPCE) #退格键
send_keys(Keys.CONTRL,‘a’) #全选
send_keys(Keys.CONTRL,‘c’) #复制
send_keys(Keys.CONTRL,‘v’) #粘贴
send_keys(Keys.CONTRL,‘x’) #剪贴
send_keys(Keys.ENTER) #回车
Perform() #执行
7.浏览器的操作:
driver.maximize_window() #最大化
driver.set_window_size(width,height) #设置宽和高