原blog

一,安装Python.

python官方下载地址:https://www.python.org/downloads/


安装后点击开始菜单,在菜单最上面能找到IDLE.
IDLE是python自带的shell, 点击打开, 即可开始编写python脚本了.

二,安装selenium

上面python已安装完成,接下来安装selenium.
安装selenium之前需要安装必要工具. setuptools
安装后,(比如zip包形式安装),进入解压的目录,在命令行执行如下命令即可安装.

python setup.py install

再然后安装pip
https://pypi.python.org/pypi/pip
同样,安装tar或解压包,进入目录cmd执行python setup.py install即可安装

安装selenium
上面2个工具安装好后,安装selenium只需在命令行进入python安装路径Script目录下,执行

pip install -U selenium

即可自动安装.
完成安装后在IDLE输入

from selenium import webdriver

如果没报错即代表安装成功.

三,注意事项

  1. selenium3.0 需要独立安装FireFox驱动.解压后放在python安装路径下即可.

  2. geckodriver驱动要求FireFox浏览器必须48版本以上,如果不是,更新FireFox.

  3. 如果用Java开发,需注意3.0必须用JDK1.8版本才行.

  4. 同样谷歌的驱动,没翻墙只能使用阿里的镜像了.

四,第一个自动化脚本
完成上面所有准备工作,就可以开始第一个自动化脚本的编写了.
打开IDLE,通过快捷键CTRL+N打开一个新窗口,在新窗口输入以下代码:

# coding = utf-8
from selenium import webdriver browser = webdriver.Firefox() browser.get("http://www.baidu.com") browser.find_element_by_id("kw").send_keys("selenium")
browser.find_element_by_id("su").click() browser.quit()

这里如果关的过快,就需要将browser.quit()给去掉.不然看不见操作

写完脚本后脚本页执行F5快捷键运行脚本,可以看到脚本启动FireFox浏览器进入百度页面,输入”selenium”点击搜索按钮,第一个脚本即完成了.

代码解析:

# coding = utf-8
(为了防止乱码问题,以及在程序中添加中文注释,把编码统一成UTF-8;)
from selenium import webdriver
(导入selenium的webdriver包,导入webdriver包后才能使用webdriver API进行自动化脚本开发.)
browser = webdriver.Firefox()
(将控制的webdriver的Firefox赋值给browser,获得了浏览器对象才可以启动浏览器;)
browser.get("http://www.baidu.com")
(获得浏览器对象后,通过get()方法,向浏览器发送网址;)
browser.find_element_by_id("kw").send_keys("selenium")
(通过id=kw定位到百度的输入框,并通过键盘方法send_keys()向输入框输入selenium;)
browser.find_element_by_id("su").click()
(通过id=su定位到搜索按钮,并向按钮发送单击事件(click());)
browser.quit()
(退出并关闭窗口的每一个相关的驱动程序.)

使用Python+selenium实现第一个自动化测试脚本的更多相关文章

  1. 【Python学习一】使用Python+selenium实现第一个自动化测试脚本

    1.Python的下载 python官方下载地址:https://www.python.org/downloads/ 这边安装的3.6.5为最新版本以适应未来的需求 进入页面就有两个版本的下载选择,2 ...

  2. 《零成本实现Web自动化测试--基于Selenium》第一章 自动化测试基础

    第一篇 Selenium 和WebDriver工具篇 第一章 自动化测试基础 1.1    初识自动化测试 自动化测试有两种常见方式 1.1.1 代码驱动测试,又叫测试驱动开发(TDD) 1.1.2 ...

  3. 使用python+selenium对web进行自动化测试

    想用python代码,对web网页进行自动化测试 web自动化测试和手动测试的区别: 手动测试:通过手动去对网页的功能进行点点点 web自动化:可以通过代码,自动对网页点点点 首先,将python+s ...

  4. Python 爬虫3——第一个爬虫脚本的创建

    在进行真正的爬虫工程创建之前,我们先要明确我们所要操作的对象是什么?完成所有操作之后要获取到的数据或信息是什么? 首先是第一个问题:操作对象,爬虫全称是网络爬虫,顾名思义,它所操作的对象当然就是网页, ...

  5. 【Python Selenium】简单数据生成脚本

    最近因工作需要,写了一个简单的自动化脚本,纯属学习,顺便学习下selenium模块. 废话不多说,直接上代码!! 这里一位大神重写了元素定位.send_keys等方法,咱们直接进行调用. 适用Pyth ...

  6. Python+selenium之带unittest的脚本分析

    from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.c ...

  7. Python Selenium unittest+HTMLTestRunner实现 自动化测试及发送测试报告邮件

    1.UI测试框架搭建-目录结构 2. 文件介绍 2.1.baseinfo->__init__.py 配置文件定义基础参数 #-*-coding:utf-8-*- #测试用例配置参数 base_u ...

  8. Python+Selenium之通过batch跑脚本

    例如在执行路径C:\Portal_Scripts\Scripts下的脚本CreateIndicativeBOP.py,可以在notepad里面编写如下: @echo off cd  C:\Portal ...

  9. Python selenium执行多个测试脚本时,浏览器多次打开登录账户

    当类里面定义了 setUp() 方法的时候,测试程序会在执行每条测试项前先调用此方法:同样地,在全部测试项执行完毕后,tearDown() 方法也会被调用. 所以当在setUp()中执行打开浏览器后, ...

随机推荐

  1. Hibernate持久化,生命周期

    一 .生命周期   1.1  . 说明 持久化类就是我们所说的实体类,实体类(持久化类)对象是有状态的. 为什么实体类对象会有状态? 答:由于HIbernate框架是一个先映射,后操作的框架.所谓的状 ...

  2. ASP.NET Core依赖注入多个服务实现类

    依赖注入在 ASP.NET Core 中起中很重要的作用,也是一种高大上的编程思想,它的总体原则就是:俺要啥,你就给俺送啥过来. 服务类型的实例转由容器自动管理,无需我们在代码中显式处理. 因此,有了 ...

  3. Python 命令行模块使用技巧

    命令行参数传递 python main.py -H 192.168.1.1 -p 22,23,24 #coding:utf-8 import optparse def PortScan(host,po ...

  4. O(1) gcd 板子

    const int N = 2e5+10; const int M = 500; int cnt, p[N], _gcd[M][M]; int v[N][3],vis[N]; int gcd(int ...

  5. C# 字符串补位方法

    string i=9; 方法1:Console.WriteLine(i.ToString("D5")); 方法2:Console.WriteLine(i.ToString().Pa ...

  6. Lambda 表达式动态拼接.

    背景: 项目使用EF 查询时需要手动判断条件写.觉得太麻烦就Google 如何动态生成Linq.最后找到了 System.Linq.Dynamic.Core. 这个东西. Scott Guthrie ...

  7. sql server行转列

    创建测试数据 学生表 Student create table Student(S# varchar(10),Sname nvarchar(10),Sage datetime,Ssex nvarcha ...

  8. 在浏览器中输入www.taobao.com后执行的全部过程

    >>>点击网址后,应用层的DNS协议会将网址解析为IP地址: DNS查找过程: 1.        浏览器会检查缓存中有没有这个域名对应的解析过的IP地址,如果缓存中有,这个解析过程 ...

  9. dubbo和mq的使用场景

    MQ:消息队列.生产者消费者模式,可用于对消息实时性要求不高的场景.多进程之间间接调用关系 Dubbo:RPC实现.多进程之间直接调用关系 dubbo 1,rpc的分布式集群支持:负载均衡是对外提供一 ...

  10. Python——getpass(密码不显示)

    为了用户输入密码时,不被其他人员看到,可以使用getpass模块来将密码以不显示的形式来表达. import getpass pwd = getpass.getpass() #在PyCharm中,运行 ...