美文网首页我爱编程
Selenium随笔记(一)

Selenium随笔记(一)

作者: 刺猬Hedgehog | 来源:发表于2016-09-09 22:40 被阅读0次

1. Windows下测试环境搭建

  1. 安装python(截止目前最新版本Python3.5)
    https://www.Python.org/
  2. 安装Selenium最新Python安装包中已经集成pip
    Pip install Selenium
  3. 查看当前包的版本信息
    Pip show selenium
  4. 启动未默认安装的Firefox
    From selenium webdriver.firefox.firefox_binary import FirefoxBinary
    Binary = FirefoxBinary(r’火狐安装路径’)
    Driver = webdriver.Firefox(firefox_binary=binary)
  5. 启动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()函数来截取当前窗口。

相关文章

网友评论

    本文标题:Selenium随笔记(一)

    本文链接:https://www.haomeiwen.com/subject/uaqyettx.html