Selenium环境搭建步骤

  1. 安装浏览器。
  2. 下载浏览器对应的Selenium驱动。
  3. 把下载好的Selenium驱动,与Python进行整合。
  4. 安装Selenium自动化测试框架。
  5. 在Python代码中导入Selenium相关API,进行操作。

1、浏览器安装

下载并安装好需要的浏览器,如下:

Chrome浏览器、Firefox浏览器、Safari浏览器、Edge浏览器、Opera浏览器等。

根据自己的需求安装对应的浏览器,非常简单,不做过多说明。

2、浏览器驱动下载

(1)ChromeDriver for Chrome

如果使用Chrome浏览器进行自动化测试,就需要下载ChromeDriver驱动。

选择指定的ChromeDriver版本,可根据不同的平台(Win、Mac、Linux)下载指定的ChromeDriver

如下图所示:

(2)Geckodriver for Firefox

如果使用Firefox进行自动化测试,在Selenium 1.0或者Selenium 2.0是可以直接驱动Firefox进行测试的,但如果使用的是Selenium 3.0,则需要下载geckodriver驱动。

根据不同的平台(Win、Mac、Linux等)下载指定的geckodriver驱动。

如下图所示:

提示:

  • Firefox 47 及以前版本,不需要geckodriver驱动。
  • geckodriver v0.19.0Firefox 55(及更高版本),Selenium3.5(及更高)
  • geckodriver v0.21.0Firefox 57(及更高版本),Selenium3.11(及更高)
  • 我应用的版本v0.24.0v0.26.0Firefox 76Selenium3.14

(3)IEDriverServer for IE

如果使用IE进行自动化测试,就需要下载IEDriverServer驱动。

IEDriverServer下载地址:http://selenium-release.storage.googleapis.com/index.html

根据Win平台是32位还是64位,下载指定的IEDriverServer驱动。

如下图所示:

IEDriverServer的版本号和Selenium的版本号一定要一致。

如果执行脚本的时候会有如下报错:

Unexpected error launching Internet Explorer. Protected Mode settings are not the same for all zones.

说明浏览器的安全性设置较高,解决方法:

修改IE的设置,打开IE --->选项--->安全,不选中启用保护模式。

如下图所示:

(4)for Edge

在Windows 10中Edge浏览器的驱动由Microsoft提供,也需要单独下载。

下载地址:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/

需要根据Edge浏览器版本下载对应的版本驱动。

1)如何查看windows 10中Edge浏览器的版本

方式一:打开Edge浏览器,进入设置

设置的界面的最下方,就可以查看到Edge浏览器的版本。

方式二开始 —> 设置 —> 系统 —> 关于

就可以查看到Edge浏览器的版本,如下图所示:

2)Edge浏览器18版本的Selenium驱动安装

Edge浏览器18版本以前的Selenium驱动,在上面网址中,下载对应的驱动版本就可以了。

Edge浏览器18版本,需要在Windows 10系统的命令提示符中(管理员方式打开),执行如下命令即可。

DISM.exe /Online /Add-Capability /CapabilityName:Microsoft.WebDriver~~~~0.0.1.0

如下图:

安装完成之后,我们就可以适用Selenium测试Edge浏览器了,不需要在下载单独的Edge浏览器驱动了。

(5)OperaDriver for Opera

如果使用Opera浏览器进行自动化测试,就需要下载operadriver驱动。

下载驱动的时候,一定要看好驱动支持的浏览器版本。

如下图所示:

3、浏览器驱动与Python整合

将下载好的浏览器驱动解压后,如:chromedriver.exe放置在Python安装路径的根目录下即可。

这样一步操作,就完成了浏览器驱动与Python的整合。

如下图所示:

4、安装Selenium

在Windows环境下,安装方式有两种(任选一种即可)

(1)在线安装

  • 命令行输入pip install -U selenium
  • 若Selenium安装超时失败,可以试试国内源:
    • 使用阿里云镜像:pip install -i http://mirrors.aliyun.com/pypi/simple/ selenium
    • 使用清华大学镜像:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ selenium
    • 使用中国科技大学镜像:pip install -i https://pypi.mirrors.ustc.edu.cn/simple/ selenium
    • 使用豆瓣镜像:pip install -i http://pypi.douban.com/simple/ selenium
  • 安装Selenium指定版本(例如3.9.0)

    命令行输入pip install -U selenium==3.9.0

(2)离线安装

打开网址:https://pypi.org/project/selenium/

点击Download files,下载后缀名为tar.gz包文件。

下载完成后,进行解压,例如:selenium-3.14.0.tar.gz

解压后的文件目录,如下图所示:

打开命令行,跳转到解压后的目录路径,输入安装命令python setup.py install即可。

安装完成后,打开命令行,输入pip list,查询已安装的模块,如下图:

如图所示Selenium就安装成功。

同时在PyCharm中导入Selenium模块,没有报错,就可以正常在PyCharm中使用Selenium了。

# 1.导入selenium包
from selenium import webdriver

5、使用Selenium启动谷歌浏览器

在Python的IDE中,编写如下代码,如:PyCharm。

"""
1.学习目标
掌握使用selenium启动谷歌浏览器
2.操作步骤
2.1 导入selenium包
2.2 选择并打开浏览器(谷歌)
2.3 输入百度网址
2.4 对网址操作
2.5 关闭浏览器
3.需求
使用selenium实现在谷歌浏览器中打开百度网站
4.注意事项
4.1 脚本的名称一定不能为selenium
4.2 输入网址的时候要加上协议,如:http://
"""
# 学习selenium主要学习的是对webdriver的使用 # 1.导入selenium包
from selenium import webdriver
from time import sleep # 2.选择并打开浏览器(谷歌)
driver = webdriver.Chrome() # 3. 输入百度网址
driver.get("http://www.baidu.com")
sleep(3) # 4.对网址的操作
# 5.关闭浏览器
driver.quit()

6、拓展说明

(1)屏蔽“Chrome 正受到自动测试软件的控制“提示信息

81版不好用,75版可以。

"""
1.学习目标
熟悉selenium屏蔽谷歌浏览器的信息提示栏
2.操作步骤
1.导包
2.添加谷歌浏览器加载项
屏蔽信息提示栏
3.打开谷歌浏览器——将屏蔽信息提示栏参数传入到打开浏览器中
4.打开地址
5.关闭浏览器 总结:
options = webdriver.ChromeOptions() # 实例化谷歌浏览器加载项
options.add_argument("disable-infobars") # 去掉谷歌浏览器信息提示栏
webdriver.Chrome(chrom_options=options) # 使用浏览器加载项
3.需求
使用selenium将谷歌浏览器的信息提示栏屏蔽
"""
# 1.导入selenium包
from selenium import webdriver
from time import sleep # 2.添加谷歌浏览器加载项
options = webdriver.ChromeOptions()
options.add_argument("disable-infobars") # 3.打开谷歌浏览器——将屏蔽信息提示栏参数传入打开浏览器中
"""
DeprecationWarning: use options instead of chrome_options
弃用警告:使用选项代替chrome_options,改用options选项
"""
driver = webdriver.Chrome(options=options) # 4.打开地址
url = "http://www.baidu.com"
driver.get(url)
sleep(3) # 5.关闭浏览器
driver.quit()

(2)Chrome模拟移动端

打开chrome —> F12 —> 开启移动端视角,如图所示,可以模拟iphone6等设备。

也可以添加或删除设备,点击Edit进行设置。

在脚本里deviceName属性,要定义为所要模拟的设备名。

脚本代码如下:

"""
1.学习目标
熟悉selenium使用谷歌浏览器模拟移动端
2.操作步骤
1.导包
2.添加谷歌浏览器加载项
设置模拟的手机型号,字典类型的参数
mobileEmulation = {"deviceName": "iPhone X"}
options=webdriver.ChromeOptions()
options.add_experimental_option("mobileEmulation", mobileEmulation)
注:"mobileEmulation"为固定写法。
3.打开谷歌浏览器——将参数传入打开的浏览器中
4.打开地址
5.关闭浏览器
3.需求
使用selenium打开谷歌浏览器,模拟iPhoneX手机 """
# 1.导入selenium包
from selenium import webdriver
from time import sleep # 2.添加谷歌浏览器加载项
mobileEmulation = {"deviceName": "iPhone X"}
options = webdriver.ChromeOptions()
# 因为传入的是字典类型的数据,所以使用的add方法也不一样
options.add_experimental_option("mobileEmulation", mobileEmulation) # 3.打开谷歌浏览器——将模拟移动端的参数,传入打开的浏览器中
# options和chrome_options一样,chrome_options将弃用。
driver = webdriver.Chrome(options=options) # 4.打开地址
url = "http://www.baidu.com"
driver.get(url)
sleep(3) # 5.关闭浏览器
driver.quit()

『心善渊』Selenium3.0基础 — 2、Selenium测试框架环境搭建(Windows)的更多相关文章

  1. 『心善渊』Selenium3.0基础 — 24、Selenium的expected_conditions模块详细介绍

    目录 1.EC模块介绍 2.EC模块常用类 3.EC模块的使用 4.EC模块综合使用 (1)title_is(title)示例 (2)presence_of_element_located(locat ...

  2. 『心善渊』Selenium3.0基础 — 11、Selenium对元素常用操作

    目录 1.Selenium对元素常用操作 2.Selenium对元素的其他操作 1.Selenium对元素常用操作 操作 说明 click() 单击元素 send_keys() 模拟输入 clear( ...

  3. 『心善渊』Selenium3.0基础 — 12、Selenium操作鼠标和键盘事件

    目录 (一)对鼠标的操作 1.鼠标事件介绍 2.ActionChains 类鼠标操作的常用方法 3.perform()方法 4.鼠标事件操作步骤 5.示例 (1)右键单击.左键双击 (2)鼠标拖拽动作 ...

  4. 『心善渊』Selenium3.0基础 — 3、使用Selenium操作浏览器对象的基础API

    目录 1.导入Selenium库 2.创建浏览器对象 3.浏览器窗口大小设置 4.浏览器位置设置 5.请求访问网址 6.浏览器页面前进.后退和刷新 7.关闭浏览器 相比于高大上的各种Selenium进 ...

  5. 『心善渊』Selenium3.0基础 — 6、Selenium中使用XPath定位元素

    目录 1.Selenium中使用XPath查找元素 (1)XPath通过id,name,class属性定位 (2)XPath通过标签中的其他属性定位 (3)XPath层级定位 (4)XPath索引定位 ...

  6. 『心善渊』Selenium3.0基础 — 1、Selenium自动化测试框架介绍

    目录 1.Selenium介绍 2.Selenium的特点 3.Selenium版本说明 4.拓展:WebDriver与Selenium RC的区别 5.Webdriver工作原理 1.Seleniu ...

  7. 『心善渊』Selenium3.0基础 — 29、使用HTMLTestRunner生成unittest的HTML报告

    目录 1.HTMLTestRunner介绍 2.HTMLTestRunner的使用 3.测试报告示例 4.封装成模块 1.HTMLTestRunner介绍 HTMLTestRunner是一个基于uni ...

  8. 『心善渊』Selenium3.0基础 — 4、Selenium基础元素定位详解

    目录 1.什么是元素定位 2.Selenium元素定位常用API (1)By_id 定位 (2)by_name 定位 (3)by_class_name 定位 (4)by_tag_name 定位 (5) ...

  9. 『心善渊』Selenium3.0基础 — 19、使用Selenium操作文件的上传和下载

    目录 1.Selenium实现文件上传 (1)页面中的文件上传说明 (2)文件上传示例 (3)总结 2.Selenium实现文件下载 (1)Firefox浏览器文件下载 1)操作步骤: 2)文件下载示 ...

随机推荐

  1. JavaI/O流汇总

    Java中常见流学习汇总 流的含义 流在Java中是指计算中流动的缓冲区. 从外部设备流向中央处理器的数据流成为"输入流",反之成为"输出流". 字符流和字节流 ...

  2. 都 2021 年了,竟然有人搞大数据时忽略 JSON 而去研究用 C# 把 XML 转换为 XML 的技术

    在大数据项目开发过程中,ETL(Extract-Transform-Load)是必不可少.即便目前 JSON 非常流行,开发人员也有必定会有对远古系统的挑战,而 XML 格式的数据源作为经典存在浑身上 ...

  3. java基础——数组及其应用

    数组 数组时相同类型数据的有序集合 数组描述的时相同类型的若干数据,按照一个定的先后次序排列组合而成 其中,每一个数据成为数组元素,每个数组元素可以通过一个下标来访问他们 数组的声明&创建 首 ...

  4. Linux 实验楼

    网络上的免费在线 Linux 实验系统 Wu Zhangjin 创作于 2014/01/12 打赏 by falcon of TinyLab.org 2014/01/12 这里收集各类可以直接在线访问 ...

  5. mysqldMY-010457] [Server] --initialize specified but the data directory has files in it. Aborting. 2020-12

    删除mysql的/var/lib/mysql目录下的所有文件 https://blog.csdn.net/tr1912/article/details/81271851 # mysqld --init ...

  6. 2.Python入门-计算机组成、指令和程序、标识符、变量、数据类型、对象和变量关系、运算符

    一.计算机的组成 计算机由两部分组成:硬件 和 软件 硬件包含:键盘.鼠标.显示器.CPU.主板.内存.硬盘 ... -硬件是看的见摸得着的 软件包含:系统软件(windows.macOS.Linux ...

  7. 通过format学习,python的内部方法是面象对象的-python面向对象

    1.常用的形式 s ="{0} {0} qqq {0} xxx {1}".format('dog','cat')print(s) 结果:dog dog qqq dog xxx ca ...

  8. 【转载】CentOS 7 系统区域(语言)和键盘设置

    CentOS 7 系统区域(语言)和键盘设置   即使是在window中,平常说的语言设置这一项也是归类为系统区域,CentOS可以通过修改/etc/locale.conf配置文件或使用localec ...

  9. Ansible_使用jinja2模板部署自定义文件

    一.jinja2简介 1.jinja2模板 1️⃣:Ansible将jinja2模板系统用于模板文件,Ansible还使用jinja2语法来引用playbook中的变量 2️⃣:变量和逻辑表达式置于标 ...

  10. Linux进阶之bond链路聚合

    一.简述: 一般来讲,生产环境必须提供7×24小时的网络传输服务.借助于网卡绑定技术,不仅可以提高网络传输速度,更重要的是,还可以确保在其中一块网卡出现故障时,依然可以正常提供网络服务.假设我们对两块 ...