selenium自动化测试入门
Selenium是一个基于浏览器的自动化测试工具,它提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。
Selenium是用于自动化控制浏览器做各种操作,打开网页,点击按钮,输入表单等等,可以模拟各种人工操作浏览器的功能,
主要用途是自动化测试领域,但是也可以用于爬虫领域,或自动化办公领域。
本次只是简单入门操作,在window环境搭建好Selenium自动化环境。
一,下载Selenium库
pip install selenium,即可进行安装。
如果安装速度慢,可以使用国内源安装。(清华源、豆瓣源...)
pip install selenium -i https://pypi.douban.com/simple/
pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple
二,安装谷歌浏览器和对应驱动
1, 确保你已经安装了Google Chrome 浏览器。查看浏览器版本。

2, 安装Chrome WebDriver 驱动
下载页面: https://registry.npmmirror.com/binary.html?path=chromedriver/
注意:下载Chrome WebDriver 驱动一定要与你Chrome浏览器版本号一致,至少版本号前3列数字一样。
比如我的浏览器版本号是:92.0.4515.40 ; 下载的驱动版本号是:92.0.4515.43

3, 下载完后,解压缩后将WebDriver可执行文件放在Chrome浏览器安装目录下,
比如我的Chrome浏览器安装目录:C:\Program Files\Google\Chrome\Application
4, 设置Chrome浏览器到系统环境变量
这样,你就可以在任何位置调用WebDriver。
安装和配置完成后,你就可以在Python脚本中导入Selenium库并开始使用它来模拟浏览器操作了。
三,简单测试模拟浏览器操作
编写一个简单测试python程序。
import time from selenium import webdriver # driver = webdriver.Chrome() # 此步骤很重要,设置chrome为开发者模式,防止被各大网站识别出来使用了Selenium
options = webdriver.ChromeOptions()
# 去掉提示:Chrome正收到自动测试软件的控制
# options.add_argument('disable-infobars')
# 以键值对的形式加入参数,打开浏览器开发者模式
# options.add_experimental_option('excludeSwitches', ['enable-automation'])
# 打开浏览器开发者模式
# options.add_argument("--auto-open-devtools-for-tabs")
driver = webdriver.Chrome(chrome_options=options)
print('连接Chrome浏览器驱动,打开浏览器.') # 浏览器窗口最大化
driver.maximize_window()
# 等待3秒启动完成
driver.implicitly_wait(3) print('输入网址,进入网站网页.')
url = 'https://baidu.com/'
# 输入网址,进入网站网页
driver.get(url)
# 刷新该网页
driver.refresh()
# 休眠3秒
time.sleep(3) print('关闭Chrome浏览器驱动')
driver.quit()

四,关闭谷歌浏览器更新
使用自动化测试,特别注意浏览器版本号跟驱动版本号一致,但是谷歌浏览器经常自动更新版本,导致自动化驱动程序用着用着就无效了,为了防止经常浏览器更新导致需要重新下载驱动程序,最好办法就是关闭浏览器更新服务。
关闭谷歌浏览器自动更新操作:
一、关闭计划任务
1、首先我们需要右键点击我的电脑,在打开的选项里选择管理。

2、在打开的对话框中选择任务计划程序。

3、在任务计划程序库中找到两个和chrome自动更新相关的任务计划GoogleUpdateTaskMachineCore与GoogleUpdateTaskMachineUA。

4、单个选中计划任务,右键在弹出的选项中选择禁用。

二、关闭后台服务
1、再开始打开的管理对话框中,找到下方的服务选项。找到两个和chrome更新相关的服务Google更新服务(gupdate)、Google更新服务(gupdatem)。

2、双击选中该服务后,在启动类型中选择禁用。

注意事项
有需要可以禁用更新,无需要尽量不要关闭。
selenium自动化测试入门的更多相关文章
- selenium自动化测试入门 定位frame和iframe中的元素对象
< frame> <iframe> 标签,浏览器会在标签中打开一个特定的页面窗口(框架),它在本窗口中嵌套进入一个网页,当用selenium定位页面元素的时候会遇到定位不到fr ...
- selenium自动化测试入门 Alert/Confirm/Prompt 弹出窗口处理
一.Alert/Confirm/Prompt弹出窗口特征说明 Alert弹出窗口: 提示用户信息只有确认按钮,无法通过页面元素定位,不关闭窗口无法在页面上做其他操作. Confirm 弹出窗口: 有确 ...
- Selenium自动化测试,接口自动化测试开发,性能测试从入门到精通
Selenium自动化测试,接口自动化测试开发,性能测试从入门到精通Selenium接口性能自动化测试基础部分:分层自动化思想Slenium介绍Selenium1.0/2.0/3.0Slenium R ...
- Selenium自动化测试框架入门整理
关注嘉为科技,获取运维新知 本文主要针对Selenium自动化测试框架入门整理,只涉及总体功能及框架要点介绍说明,以及使用前提技术基础要求整理说明.作为开发人员.测试人员入门参考. 本文参考:Se ...
- Selenium自动化测试Python一:Selenium入门
Selenium入门 欢迎阅读Selenium入门讲义,本讲义将会重点介绍Selenium的入门知识以及Selenium的前置知识. 自动化测试的基础 在Selenium的课程以前,我们先回顾一下软件 ...
- 小白学 Python 爬虫(28):自动化测试框架 Selenium 从入门到放弃(下)
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...
- 《Selenium自动化测试实战:基于Python》Selenium自动化测试框架入门
第1章 Selenium自动化测试框架入门 1.1 Selenium自动化测试框架概述 说到目前流行的自动化测试工具,相信只要做过软件测试相关工作,就一定听说过Selenium. 图1-1是某企业 ...
- Selenium自动化测试插件—Katalon的自述
Katalon-一款好用的selenium自动化测试插件 Selenium 框架是目前使用较广泛的开源自动化框架,一款好的.基于界面的录制工具对于初学者来说可以快速入门:对于老手来说可以提高开发自动化 ...
- Selenium自动化测试-进阶2-框架篇
前面的文章已经讲述了 Selenium自动化的入门知识,不知道各位看官看懂没有,有不懂的请留言. 接下来,开始讲解 Selenium自动化测试进阶知识. 首先讲解:自动化测试的核心: 利用自动化程序代 ...
- python selenium webdriver入门基本操作
python selenium webdriver入门基本操作 未经作者允许,禁止转载! from selenium import webdriver import time driver=webdr ...
随机推荐
- Qt开发经验小技巧196-200
关于Qt延时的几种方法. void QUIHelperCore::sleep(int msec) { if (msec <= 0) { return; } #if 1 //非阻塞方式延时,现在很 ...
- Qt编写地图综合应用55-海量点位标注
一.前言 海量点位标注的出现,是为了解决普通设备点超过几百个性能极速降低的问题,普通的marker标注由于采用的是对象的形式存在于地图中,数量越多,占用内存特别大,超过1000个点性能极其糟糕,哪怕是 ...
- Python中的包、模块和源码的组织关系
- 在Node.js环境下使用npm命令安装OpenLayers6.4.3时,提示错误“rollbackFailedOptional: verb npm-session”的解决办法
该问题一般情况是因为npm源问题. 更换为淘宝的源: npm config set registry http://registry.npm.taobao.org 使用 npm info expre ...
- C++书籍推荐
本人收藏的一些电子版: 阅读顺序 C++ primer 基础 Professional C++ 基础+新特性 现代C++语言核心特性解析 更多新特性,STL并发库介绍 C++ Templates 更多 ...
- C#数据结构与算法入门实战指南
前言 在编程领域,数据结构与算法是构建高效.可靠和可扩展软件系统的基石.它们对于提升程序性能.优化资源利用以及解决复杂问题具有至关重要的作用.今天大姚分享一些非常不错的C#数据结构与算法实战教程,希望 ...
- linux:权限管理
权限概述 linux一般讲文件可存 / 取 访问的身份分为3个类别:owner.group.others,且3种身份各有 read.write.execute等权限 权限介绍 在多用户计算机系统中,权 ...
- C# Newtonsoft.Json JObject常用方法
1.创建-用匿名对象创建 JObject JObject ob = JObject.FromObject(new { RPT_ID = "getList", pageSize = ...
- Qemu-KVM基本工作原理介绍
本文分享自天翼云开发者社区<Qemu-KVM基本工作原理介绍>,作者:郑****文 1.KVM与Qemu关系 Qemu本身并不是KVM的一部分,而是一整套完整的虚拟化解决方案,它是纯软件实 ...
- redis安装、多实例和配置、及服务器性能优化
同一台服务器部署不同应用或者同一应用部署不同环境,需要redis服务多开防止数据冲突问题. 一.安装redis 需要安装gcc编译工具 yum install gcc -y 源码安装默认Redis程序 ...