简介:

Selenium也是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE、Mozilla Firefox、Mozilla Suite等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建衰退测试检验软件功能和用户需求。支持自动录制动作和自动生成。Net、Java、Perl等不同语言的测试脚本。Selenium 是ThoughtWorks专门为Web应用程序编写的一个验收测试工具。

本来,这个是做自动化测试的,不是做爬虫的,也被很多做爬虫的所诟病,效率低,系统资源占用高…………,但是它也有它的优势,它可以借助浏览器来解析javascript,也就是所谓的动态页面。还可以模拟鼠标键盘操作。这使得编写爬虫时,我们省去了很多对目标页面的分析工作。

我常它来控制firefox,偶尔控制chrome,前段时间还控制了phantomjs(无界面浏览器),但是停止支持了。因为firefox chrome 也开始支持无界面模式了。我可不想教你们老版本。

一:安装

安装python  pycharm selenium

这些以前都写过了。自己查吧。

安装firefox chrome 二选一,这个也不用讲

重点:安装驱动,默认安装的firefox  chrome是不带自动化测试的驱动的,要手动安装

Mozilla GeckoDriver         这个是配套firefox的
Google Chrome Driver     这个是配套chrome的

自己下载对应的版本吧。

现在的版本是:

geckodriver  0.19.1

chromedriver  2.35

下载解压

把这两个文件放进system中也可以。

我一般放进项目文件夹。免得以后生成exe文件后,别人用不成。

暂时就一个文件。也不考虑项目结构。

另外,电脑上的浏览器版本是

firefox 58.0.1   64位

chrome  64.0.3282.119(正式版本) (64 位)

 整体环境:

python 3.6.3  64位

pycharm 2017.2.4  64位

selenium 3.8.1 (pycharm下载,不知道是64还是32)

geckodriver  0.19.1 64位

chromedriver  2.35 32位(没有64位)

firefox 58.0.1   64位

chrome  64.0.3282.119(正式版本) (64 位)

二:试用

刚才02.TEST.py

from time import sleep
from selenium import webdriver driver=webdriver.Firefox()
driver.get('http://www.baidu.com')
sleep(3)
driver.quit()
driver=webdriver.Chrome()
driver.get('http://www.baidu.com')
sleep(3)
driver.quit()

运行一下试试吧。

会先打开firefox,并打开百度,等3秒,关闭。

再打开chrome,也打开百度,等待3秒,关闭。

如果你的不对,就自己检查一下吧。我也不知道你错在什么地方。

selenium(一)简介,安装,配置,测试。的更多相关文章

  1. NodeJs在windows上安装配置测试

    Node.js简介简单的说 Node.js 就是运行在服务端的 JavaScript.Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个 ...

  2. UI自动化的第一步(Python,pip,selenium,PyCharm安装配置)

    一,py安装 1.python下载,安装,环境配置 地址:https://www.runoob.com/python/python-install.html 注意:安装时,要勾选自动配置环境变量.这样 ...

  3. 01 Node.js简介, 安装&配置

    Node.js 简介 Node.js 是什么 Node.js 有着强大而灵活的包管理器(node package manager,npm) 目前, 已经有强大第三方工具模块, 例如数据库连接, 网站开 ...

  4. MySQL 5.7.33 超级详细下载安装配置测试教程(可以安装成功版)

    目录 1.引言及注意事项 (1) 引言: (2) 注意: 2.MySQL下载 3.配置环境变量 4.配置my.ini文件(重点) 5.安装MySQL(重点) 6.设置密码 7.测试MySQL是否安装成 ...

  5. 实践作业2:黑盒测试实践——安装配置测试工具 Day 3

    安装配置Katalon Studio工具 1.找下载Katalon链接,需要有效电子邮件才能激活Katalon账户,在我的Gmail里注册. 2.选择下载版本 3.下载完成后 ,转到计算机上的文件夹, ...

  6. Hbase简介安装配置

    HBase —— Hadoop Database的简称 ,hbase 是分布式,稀疏的,持久化的,多维有序映射,它基于行键rowkey,列键column key,时间戳timestamp建立索引.它是 ...

  7. 【转】hive简介安装 配置常见问题和例子

    原文来自:  http://blog.csdn.net/zhumin726/article/details/8027802 1 HIVE概述 Hive是基于Hadoop的一个数据仓库工具,可以将结构化 ...

  8. Wowza 部署 安装 配置 测试 直播

    下载,最好用快的IP下好后传到需要的节点上,下面链接不能下载的情况下百度谷歌必应找资源,jdk旧版在oracle需登录方可下载 JDK1.6 wget -c http://dl.download.cs ...

  9. Linux 首先基本包安装(vim啊什么的),源,源优化,项目架构介绍, (LNMuWsgi)Django项目相关软件mysql,redies,python(相关模块)安装配置测试

    内容 补充: 查看已启动服务的端口 netstat -tulnp |grep (方式1) ss -tulnp|grep (方式2) 前期铺垫: . Linux要能上网 . 掌握Linux软件包安装方法 ...

  10. selenium python2.7安装配置

    1:安装python python2.7版本(最新的python版本是3.4,但用户体验没有2.7版本的好,我们选择用2.7版本) 下载地址:https://www.python.org/downlo ...

随机推荐

  1. P3709 大爷的字符串题

    题意 询问区间众数出现的次数 思路 唯有水题快人心 离散化+莫队 莫队一定要先加后减,有事会出错的 莫队维护区间众数: 维护两个数组,一个数组记录权值为x的出现次数,一个记录出现次数为x的数的个数 a ...

  2. C#调用系统蜂鸣(需要发出警告时挺好用的 即使没有声卡)

    http://heavenslv.iteye.com/blog/1033870 // 声明 public class BeepUp { /// <param name="iFreque ...

  3. spark-shuffle分析

    前言 shuffle是分布式计算系统中最重要的一部分,spark和mapreduce的shuffle的大体思路类似,在实现上有一些区分.Spark提供了插件式的接口,使用者可以通过继承ShuffleM ...

  4. ftp协议及vsftpd的基本应用

    1.ftp协议及vsftpd的基本应用 vsftpd 是"very secure FTP daemon"的缩写,安全性是它的一个最大的特点.vsftpd 是一个 UNIX 类操作系 ...

  5. UVa 1451 平均值

    https://vjudge.net/problem/UVA-1451 题意:给定长度为n的01串,选一个长度至少为L的连续子串,使得子串中数字的平均值最大. 思路:这题需要数形结合,真的是很灵活. ...

  6. cropper图片剪裁 , .toBlob()报错

    问题描述: 使用 cropper.js 剪裁图片时, 调用 toBlob() 方法报错 $("#image").cropper('getCroppedCanvas').toBlob ...

  7. Unix网络编程_卷1卷2

    1. UNIX 网络编程(第2版)第1卷:套接口API和X/Open 传输接口API PDFhttp://www.linuxidc.com/Linux/2014-04/100155.htm UNIX网 ...

  8. EM算法及其推广

    概述 EM算法是一种迭代算法,用于含有隐变量(hidden variable)的概率模型参数的极大似然估计,或极大后验概率估计. EM算法的每次迭代由两步组成:E步,求期望(expectation): ...

  9. jQuery.extend()意义及用途

    一.意义 用于将一个或多个对象的内容合并到目标对象 二.用法: $.extend( [deep ], target, object1 [, objectN ] ) 注意: 1. 如果只为$.exten ...

  10. java日期操作 大全

    先来一个:  取得指定月份的第一天与取得指定月份的最后一天  http://iamin.blogdriver.com/iamin/847990.html ));             }       ...