1. Windows下测试环境搭建
- 安装python(截止目前最新版本Python3.5)
https://www.Python.org/ - 安装Selenium最新Python安装包中已经集成pip
Pip install Selenium - 查看当前包的版本信息
Pip show selenium - 启动未默认安装的Firefox
From selenium webdriver.firefox.firefox_binary import FirefoxBinary
Binary = FirefoxBinary(r’火狐安装路径’)
Driver = webdriver.Firefox(firefox_binary=binary) - 启动chrome、IE浏览器需要驱动Chromedriver、 IEdriver。可以将chromedriver.exe 放在”C:\Windows\System32”路径下或者path可以找到的路径下并重启电脑即可.
2. WebDriver API
1.webdriver提供了八种元素定位方法:
- id:HTML规定id属性在HTML文档中必须是唯一的,find_element_by_id()方法通过id属性定位元素;
- name:HTML中name来指定元素的名称,name属性值当前页面中可以不唯一,find_element_by_name()方法通过name属性来定位元素;
- class:HTML规定class来指定元素的类名,find_element_by_class_name()方法通过class属性来定位元素;
- tag:find_element_by_tag_name()方法通过元素的tag name来定位元素;
- link定位:用来定位文本链接,find_element_by_link_text()方法通过元素标签对直接的文本信息来定位元素;
- partial link:对link定位的一种补充,有些文本链接比较长,可以取文本链接的一部分定位,只要这部分信息可以唯一标识这个链接,find_element_by_partial_link_text()方法通过元素标签对之间的部分文本信息来定位元素;
- xpath:find_element_by_xpath()方法使用xpath语言来定位元素,xpath主要用标签名的层级关系来定位元素的绝对路径,最外层为html语言。find_element_by_xpath(“//input[@id=’kw’]”) //表示当前页面某个目录下,input表示定位元素的标签名,[@id=’kw’]表示这个元素的id属性值等于kw。
- CSS定位:find_element_by_css_selector()方法用于CSS语言定位元素;
2. 控制浏览器窗口大小
Webdriver提供set_window_size(x, y)方法来设置浏览器大小; maximize_window()方法使打开的浏览器全屏显示,不需要参数。
3. Webdriver中最常用的方法:
- Clear():用于清除文本输入框中的内容。
- Send_keys(*value):模拟键盘向输入框里输入内容。
- Click():用来单击一个元素。
4. Webelement接口常用方法
- Submit():用于提交表单。
- Size:返回元素的尺寸;
- Text:获取元素的文本;
- Get_attribute(name):获取属性值
- Is_displayed():设置该元素是否用户可见。
5. 鼠标事件鼠标操作的方法封装在ActionChains类提供;
- Perform():执行所有ActionChains中存储的行为;
- Context_click():右击;
- Double_click():双击;
- Drag_and_drop(source, target):拖动;
- Move_to_element():鼠标悬停。
6. 多表单切换
Switch_to_frame()默认可以直接取表单的id或name属性。
如果完成了在当前表单上的操作,则switch_to.parent_content()方法跳出当前一级表单。
在进入多级表单情况下,通过switch_to.default_content()跳回最外层的页面。
7. 多窗口切换
Switch_to.window(),可以实现在不同的窗口之间切换
8. 警告框处理
- Text:返回alert/confirm/prompt中的文字信息;
- Accept():接受现有警告框;
- Dismiss():解散现有警告框;
- Send_keys(KeysToSend):发送文本至警告框,keystosend:将文本发送至警告框。
Switch_to_alert()方法接受弹窗。
9. 操作Cookie
- Get_cookies():获得所有cookie信息;
- Get_cookie(name):返回字典的key为“name”的cookie信息;
- Add_cookie(cookie_dict):添加cookie。”cookie_dict”指字典对像,必须有name和value值;- Delete_cookie(name, optionsString):删除cookie信息。”name”是要删除的cookie的名字,”optionsString”是该cookie的选项,支持选项包括”路径”,”域”。
- Delete_all_cookies():删除所有cookie信息。
10. 窗口截图
Get_screenshot_as_file()函数来截取当前窗口。