『心善渊』Selenium3.0基础 — 4.Selenium环境搭建(Windows环境)

我们先通过chrome浏览器的Selenium自动化测试环境搭建为例说明。

1、浏览器安装(掌握)

chrome浏览器、Firefox浏览器、Safari浏览器、Edge浏览器、Opera浏览器自行安装。

2、浏览器驱动下载(掌握)

(1)ChromeDriver for Chrome

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

ChromeDriver驱动下载地址:http://chromedriver.storage.googleapis.com/index.html

国内镜像地址:https://npm.taobao.org/mirrors/chromedriver

版本对应地址:http://chromedriver.storage.googleapis.com/2.43/notes.txt

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

(2)Geckodriver for Firefox

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

Geckodriver下载地址:https://github.com/mozilla/geckodriver/releases

国内镜像地址:https://npm.taobao.org/mirrors/geckodriver/

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

提示:

  • Firefox 47 及以前版本,不需要geckodriver驱动。
  • geckodriver v0.19.0:Firefox 55(及更高版本),Selenium3.5(及更高)
  • geckodriver v0.21.0:Firefox 57(及更高版本),Selenium3.11(及更高)
  • 我应用的版本v0.24.0和v0.26.0,Firefox 76,Selenium3.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浏览器的版本。


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


@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浏览器的Selenium驱动下载地址:https://github.com/operasoftware/operachromiumdriver/releases

国内镜像地址:https://npm.taobao.org/mirrors/operadriver/

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


3、浏览器驱动安装

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

4、安装Selenium

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

(1)在线安装

(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启动谷歌浏览器

"""
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()

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 161,326评论 4 369
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 68,228评论 1 304
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 110,979评论 0 252
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,489评论 0 217
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,894评论 3 294
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,900评论 1 224
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,075评论 2 317
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,803评论 0 205
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,565评论 1 249
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,778评论 2 253
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,255评论 1 265
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,582评论 3 261
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,254评论 3 241
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,151评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,952评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 36,035评论 2 285
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,839评论 2 277