应吴姑娘(漂亮的姑娘)之邀,加上我师兄(屌丝)和国新(屌丝),组了个四黑小团伙,每周二分享点东西,感觉就是四个辣鸡相互取暖。可惜,今天早上直接是睡过去了,下午都捐给了《白夜追凶》---没办法,看了一集又想看下一集,可能这就是惯性吧。想想时间也挺急的,所以随意弄点,顺便也更新一下博客。

正文:

1. 首先有个Python环境,用pip安装selenium,(Python3是自带pip的,2不带)

Pip install selenium ==2.52.0 (版本号3.3的好像在切换frame时不太好用,建议2.52.0)

2. 可以用Google或者火狐浏览器(关闭版本更新,最好是低版本的)配合selenium使用,

其中要在环境变量中加入对应浏览器的driver(网上有很多)

3.火狐浏览器的配置(方便抓取网页标签内容)

3.1在商店里分别将这些安装到火狐浏览器

3.2重启浏览器后可以看到

配置就可以了。

一、selenium的介绍

selenium主要是用于Web 应用程序的自动化测试,相当于模拟真实用户;还可以配合Python爬虫,特

别是那些需要登入操作,且post的请求中密码还TM算法加密的,不过效率会低一点。

二、元素定位(常用的)

find_element_by_id()                    定位元素通过id

find_element_by_name()               定位元素通过name

find_element_by_class_name()      定位元素通过classname

find_element_by_tag_name()        定位元素通过标签名

find_element_by_link_text()          定位元素通过内容

find_element_by_xpath()                 定位元素通过xpath

find_element_by_css_selector()      定位元素通过css

推荐使用find_element_by_xpath(),这是绝对定位,而像classname这一类可能有好几个元素。

三、鼠标事件(常用)

from selenium.webdriver.common.action_chains import ActionChains

click()左击

context_click() 右击

double_click() 双击

move_to_element() 鼠标悬停

四、键盘事件

from selenium.webdriver.common.keys import Keys

send_keys(Keys.ESCAPE) 回退键(Esc)

send_keys(Keys.ENTER) 回车键(Enter)

send_keys(Keys.CONTROL,'a') 全选(Ctrl+A)

send_keys(Keys.CONTROL,'c') 复制(Ctrl+C)

五、切换frame和Windows

Switch_to_frame() 进入frame

switch_to_default_content() 返回上级菜单

switch_to_window() 切换窗口

六、其他处理

6.1   driver.find_element_by_...().text 等于显示文本内容(Unicode码),对于不能做点击操作的。

6.2   关于下拉框选择的问题:例子:sel = driver.find_element_by…()

Select(sel).select_by_value(“1”) 通过标签

Select(sel).select_by_visible_text(“wzq”)

6.3  通过内容网页上跳出一个页面判断是还是否 selenium中 driver.switch_to_alert().accept() 或者拒绝

对话框text 返回alert/confirm/prompt 中的文字信息
           accept 点击确认按钮
           dismiss 点击取消按钮,如果有的话

6.4  判断是否被选中:is_selected()

6.5 获取元素的状态:

.text

.tag_name

get_attribute(“id 或name 或value 等等”)

6.6  浏览器的前进和后退:
          前进:driver.forward()
          后退:driver.back()

暂时只想到这些吧,周二弄个PPT和几个例子忽悠一下师兄他们吧。

成功的人往往耐得住寂寞,却又不甘于寂寞。

但是,我从我身上看到的只有浓浓的屌丝气息,不知道成功离我还多远。

selenium的基本介绍的更多相关文章

  1. Selenium自动化测试框架介绍

    Selenium自动化测试框架介绍 1.测试架构作用 a.可维护性 b.提高编写脚本效率 c.提高脚本的可读性 2.框架的几大要素: Driver管理,脚本,数据,元素对象,LOG,报告,运行机制,失 ...

  2. Python+selenium之简单介绍unittest单元测试框架

    Python+selenium之简单介绍unittest单元测试框架 一.unittest简单介绍 unittest支持测试自动化,共享测试用例中的初始化和关闭退出代码,在unittest中最小单元是 ...

  3. python+selenium之简单介绍继承

    python+selenium之简单介绍继承 一.此例简单的介绍一下继承 1.面向对象的编程带来的主要好处之一是代码的重用,实现这种重用的方法之一是通过继承机制.继承完全可以理解成类之间的类型和子类型 ...

  4. 【Selenium】3.介绍Selenium IDE

    本文供学习交流之用,没有商业用途,没有盈利. 完全是我自己为督促自己学习而翻译的.翻译的不好,见谅.来源于:http://www.guru99.com/introduction-selenuim-id ...

  5. 【Selenium】1.介绍 Selenium

    本文供学习交流之用,没有商业用途,没有盈利. 完全是我自己为督促自己学习而翻译的.翻译的不好,见谅.来源于:http://www.guru99.com/introduction-to-selenium ...

  6. UI自动化测试简介及Selenium工具的介绍和环境搭建

    自动化测试简介 1.1何为自动化测试? 是把以人为驱动的测试转化为机器执行的一种过程,它是一种以程序测试程序的过程.换言之,就是以程序实现的方式来代替手工测试. 1.2自动化测试分类 分为功能自动化测 ...

  7. Python+Selenium学习--案例介绍

    1. 前言 前面讲解了那么多selenium的基础知识,下面用一个简单案例来介绍,此案例主要实现,运行测试,自动生成html报告,并发生邮件. 2. 测试案例 2.1 目录结构介绍 conf:配置信息 ...

  8. 自动化测试之selenium工具简单介绍

    一.selenium简单介绍 1.selenium的成员 2.selenium工作原理 二.webdrive 常见元素定位

  9. UI自动化测试(一)简介及Selenium工具的介绍和环境搭建

    自动化测试简介 1.1何为自动化测试? 是把以人为驱动的测试转化为机器执行的一种过程,它是一种以程序测试程序的过程.换言之,就是以程序实现的方式来代替手工测试. 1.2自动化测试分类 分为功能自动化测 ...

随机推荐

  1. CodeForces 558C Amr and Chemistry (位运算,数论,规律,枚举)

    Codeforces 558C 题意:给n个数字,对每一个数字能够进行两种操作:num*2与num/2(向下取整),求:让n个数相等最少须要操作多少次. 分析: 计算每一个数的二进制公共前缀. 枚举法 ...

  2. 调用PostgreSQL存储过程,找不到函数名的问题

    PostgreSQL的表,函数名称都是严格区分大小写的,所以在使用的时候没有注意大小写问题容易导致找不到函数名的错误,但最近两天我们发现,如果函数参数使用了自定义的数据类型,也会发生这个问题. 问题描 ...

  3. JSP小例子——以Model1的思想实现用户登录小例子(不涉及DB操作)

    Model1简介现在比较流行的就是Model1和Model2,这里介绍Model1.在Model1模型出现前,整个Web应用的情况是:几乎全部由JSP页面组成,JSP页面接受处理客户端请求,对请求处理 ...

  4. $("#btn").click(function(){ });只有在页面加载的时候才会有效触发

    例: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title& ...

  5. c++11 lambda(了解)

    this->send_change_equip = ([this](ChangeEquipPT channge) { send_cmd(s2c_change_equip, &channg ...

  6. 【BZOJ2783】[JLOI2012]树 DFS+栈+队列

    [BZOJ2783][JLOI2012]树 Description 在这个问题中,给定一个值S和一棵树.在树的每个节点有一个正整数,问有多少条路径的节点总和达到S.路径中节点的深度必须是升序的.假设节 ...

  7. [SharePoint 2010] Visual Studio 2010內撰寫視覺化WebPart超簡單

    新一代的Visual Studio 2010對於SharePoint 2010的專案撰寫,有非常另人讚賞的改進. 以往寫一個WebPart要搞好多雜七雜八的步驟,也要硬寫HTML輸出,當然有人說可以寫 ...

  8. Linux系统时间快8个小时

    1.vi /etc/sysconfig/clock   #编辑文件ZONE="Asia/Shanghai"UTC=false                          #设 ...

  9. CMS 收集器整理

    基本说明: 目标:获取最短回收停顿时间 算法:标记-清除算法 线程:并发 步骤: 初始标记:(会STP) 标记一下 GC Roots 能直接关联到的对象,速度很快 并发标记:(耗时最长,且可与用户线程 ...

  10. Groovy操作符

    Groovy操作符 这一篇简单介绍一下Groovy中的操作符. 算数操作符 groovy支持java中的所有操作符,下面只列举一些groovy特有的: ** power运算符,也叫次方. assert ...