selenium python 第一个脚本
为什么选择python?我的回答很简单,简单易学,功能强大!
下面看看python和selenium 2的结合是什么样子吧
一、第一个selenium python脚本:
#coding = utf-8
from selenium import webdriver
Browser = driver.Firefox()
Browser.get('http://www.baidu.com')
Browser.find_element_by_id("kw").send_keys("自动化测试")
Browser.find_element_by_id("su").click()
Browser.quit()
这里有必要提一下的是你别用最新版本的Firefox,之前我就在这里出现了问题,最新版本是无法运行的,所以我用的是24.0的,这个是没有任何问题的。
脚本分析:
#coding = utf-8
这个我相信不解释你都能够看懂的,目的就是为了防止乱码的,所以你懂的。
from selenium import webdriver
和java一样如果要使用一个函数就需要将包引入。这里也是一样,要使用selenium的webdriver函数就需要把这个包引入。
Browser = driver.Firefox()
这就是告诉我们需要控制什么浏览器,这里控制的是firefox,当然你可以控制其他的,只需要装驱动就行,记住大小写!
Browser.get('http://www.baidu.com')
这个就没什么了,就是在浏览器中输入目标地址
Browser.find_element_by_id("kw").send_keys("自动化测试")
这里有必要说一下,这里我是通过id进行操作的,通过id进行定位,你可以查看百度的输入框的id,就是kw,所以这里我们就是直接在百度的输入框中输入自动化测试。简单有木有!
Browser.find_element_by_id("su").click()
这个就是同样的道理了,百度一下的id就是su,所以我们通过id对这个按钮进行了click()操作。
Browser.quit()
不说了,退出!
说道这里是不是很简单啊,以前在使用QTP的过程中就了解到其实做自动化测试就是对页面的对象进行操作,后来接触了android的自动化其实他的远离也是差不多的,在使用selenium之后也差不多,都是根据页面的元素进行定位,然后根据定位的东西进行操作。下面讲讲selenium python是如何进行定位的,selenium python 定位的方法有很多中,现在我用的也不是所有,只是用到了一部分。
selenium python 第一个脚本的更多相关文章
- python 第一节 脚本 import from reload exec
环境Ubuntu 14.04, 不写交互式命令行了,直接脚本开始. # first Python script import sys print(sys.platform) print(2**4) x ...
- selenium+python编写自动化脚本时,定位frame中对象操作
在web应用中经常会出现frame嵌套的应用,假设页面上有A,B两个frame,其中B在A内,那么定位B中的内容则需要先到A,再到B.switchTo().frame方法可以把当前定位的主题切换到fr ...
- 使用Python+selenium实现第一个自动化测试脚本
原blog 一,安装Python. python官方下载地址:https://www.python.org/downloads/ 安装后点击开始菜单,在菜单最上面能找到IDLE. IDLE是pytho ...
- selenium第二课(脚本录制seleniumIDE的使用)
一.Selenium也具有录制功能,可以web中回放,录制的脚本可以转换为java.python.ruby.php等多种脚本语言.seleniumIDE是Firefox的一个插件,依附于Firefox ...
- <译>Selenium Python Bindings 2 - Getting Started
Simple Usage如果你已经安装了Selenium Python,你可以通过Python这样使用: #coding=gbk ''' Created on 2014年5月6日 @author: u ...
- [译]Selenium Python文档:二、初步开始
2.1.简单使用 如果已经安装好了Selenium Python,你就可以像下面这样编写Python代码来使用它了: from selenium import webdriver from selen ...
- selenium python grid
学习自动化一直都是在本机操作,感觉这样能够减少工作量确实很少.最近研究了一下分布式操作. 开始的想法是,我在一台机器上启动脚本,然后让脚本在不同机器的不同版本的浏览器上进行跑脚本. 需要准备的东西: ...
- selenium+python自动化测试
F12: 右键 选择复制 path 在selenium+python自动化测试(一)–环境搭建中,运行了一个测试脚本,脚本内容如下: from selenium import webdriver ...
- python爬虫积累(一)--------selenium+python+PhantomJS的使用(转)
阅读目录 一.Selenium介绍 二.爬虫为什么要用selenium? 三.PhantomJS介绍 四.PhantomJS安装 五.操作实战 六.在此推荐虫师博客的学习资料 selenium + p ...
随机推荐
- linux 用 SSH2协议远程连接并控制 linux
[参考链接](http://php.net/manual/zh/ssh2.installation.php) ssh2_exec 并不能打印所有的命令的提示信息 如果有返回的字符串信息,可以打印,或重 ...
- CentOS7 mariadb 修改编码
CentOS7 mariadb 编码的修改: 网上看了不少的解决方案,要么是比较老的,要么是不正确,测试成功的方式,记录备查. 登录MySQL,使用SHOW VARIABLES LIKE 'chara ...
- C++设计模式——建造者模式
建造者模式 在GOF的<设计模式 可复用面向对象软件的基础>中是这样说的:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. 这句话,似懂非懂的.一个复杂对象的创建 ...
- Junit3.8 私有方法测试
1. 测试类的私有方法时可以采取两种方式:1) 修改方法的访问修饰符,将private修改为default或public(但不推荐采取这种方式).2) 使用反射在测试类中调用目标类的私有方法(推荐). ...
- TopCoder SRM 605 DIV1
604的题解还没有写出来呢.先上605的. 代码去practice房间找. 说思路. A: 贪心,对于每个类型的正值求和,如果没有正值就取最大值,按着求出的值排序,枚举选多少个类型. B: 很明显是d ...
- 删除MySQL重复数据
删除MySQL重复数据 项目背景 在最近做的一个linux性能采集项目中,发现线程的程序入库很慢,再仔细定位,发现数据库里面很多冗余数据.因为在采集中,对于同一台设备,同一个时间点应该只有一个数据,然 ...
- TTL电平、CMOS电平、RS232电平的区别
工作中遇到一个关于电平选择的问题,居然给忘记RS232电平的定义了,当时无法反应上来,回来之后查找资料才了解两者之间的区别,视乎两年多的时间,之前非常熟悉的一些常识也开始淡忘,这个可不是一个好的现象. ...
- 树莓派加入定时任务实现花生壳定时重启(linux的定时任务)
由于花生壳在linux下不稳定,联系开机一个星期左右会挂掉,所以要使用定时任务实现每小时刷新一次/启动一次. 使用的是linux下的定时任务crontab去实现. 实现步骤: 1.编辑/etc/cro ...
- matlab eps中文乱码的解决方法
直接存成eps总是乱码 最优解决方法是matlab print 保存成jpg,之后用adobe acrobat pro 打开jpg文件另存为eps
- Python3向网页POST数据
还是以我的网页iciba为例 POST数据到www.selflink.cn/iciba/get0.php获取返回的查询结果 #coding:utf8 import urllib.request imp ...