selenium的基本介绍
应吴姑娘(漂亮的姑娘)之邀,加上我师兄(屌丝)和国新(屌丝),组了个四黑小团伙,每周二分享点东西,感觉就是四个辣鸡相互取暖。可惜,今天早上直接是睡过去了,下午都捐给了《白夜追凶》---没办法,看了一集又想看下一集,可能这就是惯性吧。想想时间也挺急的,所以随意弄点,顺便也更新一下博客。
正文:
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的基本介绍的更多相关文章
- Selenium自动化测试框架介绍
Selenium自动化测试框架介绍 1.测试架构作用 a.可维护性 b.提高编写脚本效率 c.提高脚本的可读性 2.框架的几大要素: Driver管理,脚本,数据,元素对象,LOG,报告,运行机制,失 ...
- Python+selenium之简单介绍unittest单元测试框架
Python+selenium之简单介绍unittest单元测试框架 一.unittest简单介绍 unittest支持测试自动化,共享测试用例中的初始化和关闭退出代码,在unittest中最小单元是 ...
- python+selenium之简单介绍继承
python+selenium之简单介绍继承 一.此例简单的介绍一下继承 1.面向对象的编程带来的主要好处之一是代码的重用,实现这种重用的方法之一是通过继承机制.继承完全可以理解成类之间的类型和子类型 ...
- 【Selenium】3.介绍Selenium IDE
本文供学习交流之用,没有商业用途,没有盈利. 完全是我自己为督促自己学习而翻译的.翻译的不好,见谅.来源于:http://www.guru99.com/introduction-selenuim-id ...
- 【Selenium】1.介绍 Selenium
本文供学习交流之用,没有商业用途,没有盈利. 完全是我自己为督促自己学习而翻译的.翻译的不好,见谅.来源于:http://www.guru99.com/introduction-to-selenium ...
- UI自动化测试简介及Selenium工具的介绍和环境搭建
自动化测试简介 1.1何为自动化测试? 是把以人为驱动的测试转化为机器执行的一种过程,它是一种以程序测试程序的过程.换言之,就是以程序实现的方式来代替手工测试. 1.2自动化测试分类 分为功能自动化测 ...
- Python+Selenium学习--案例介绍
1. 前言 前面讲解了那么多selenium的基础知识,下面用一个简单案例来介绍,此案例主要实现,运行测试,自动生成html报告,并发生邮件. 2. 测试案例 2.1 目录结构介绍 conf:配置信息 ...
- 自动化测试之selenium工具简单介绍
一.selenium简单介绍 1.selenium的成员 2.selenium工作原理 二.webdrive 常见元素定位
- UI自动化测试(一)简介及Selenium工具的介绍和环境搭建
自动化测试简介 1.1何为自动化测试? 是把以人为驱动的测试转化为机器执行的一种过程,它是一种以程序测试程序的过程.换言之,就是以程序实现的方式来代替手工测试. 1.2自动化测试分类 分为功能自动化测 ...
随机推荐
- String、StringBuffer与StringBuilder区别
1.三者在执行速度方面的比较:StringBuilder > StringBuffer > String 2.String <(StringBuffer,StringBuild ...
- 使用vue来做局部刷新
我们都知道,vue的组件化是他最强大的核心所在,路由也是特别可爱的一部分,但是路由适合一些大型的组件,看url路径的时候会出现变化,但是有时候我们想要一些小的局部小刷新,这个时候就需要用到它的动态组件 ...
- 《从零开始学Swift》学习笔记(Day 10)——运算符是“ +、-、*、/ ”吗?
原创文章,欢迎转载.转载请注明:关东升的博客 运算符是用于执行程序代码运算,会针对一个或一个以上操作数项目来进行运算.例如:2+3,其操作数是2和3,而运算符则是“+”.那么“+.-.*./”是运算符 ...
- Android项目混淆打包
以下为我此期项目中的关于混淆打包的总结:(本人第一次混淆打包,呵呵,错误很多!列了一些比较头疼的)一.项目混淆过程中注意事项:由于我的sdk版本较高,因此新建android项目下只有proguard- ...
- angular4 常用pipe管道
angular中的pipe是用来对输入的数据进行处理,如大小写转换.数值和日期格式化等. 常用的pipe有 1. 大小写转换 <p>{{str | uppercase}}</p> ...
- C语言实现单链表(带头节点)
C语言在实现单链表存储时需要注意的几点: 1.定义结构体,typedef:用于给结构体另命名 // 定义结构体类型 typedef struct Node{ int data; struct Node ...
- HDU2842—Chinese Rings
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2842 题目意思:一把一个n连环的前n个拿下来,一个个n连环,要把第k个拿下来,需要把前n-2个拿下来, ...
- How to Design a Good API and Why it Matters
前谷歌首席 Java 架构师谈如何设优秀的 API – 码农网 http://www.codeceo.com/article/google-java-good-api.html 2015-11-24 ...
- 在ubuntu上部署Kubernetes管理docker集群示例, vxlan,gre
http://www.chenshake.com/openstack-folsom-guide-for-ubuntu-12-04/ http://www.cnblogs.com/sammyliu/p/ ...
- flask中db.init_app(app)讲解
http://www.pythondoc.com/flask/extensiondev.html http://www.pythondoc.com/flask/extensiondev.html#fl ...