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数据库应用19-图片转pdf
一.前言 用户的需求真的是千奇百怪,刚做完不同页面横向纵向排版的需求,又来个需要图片转pdf的需求,提供静态函数直接使用. 经过这么些年的社会的毒打,我的原则是:用户是上帝和大爷,尽量站在用户的角度换 ...
- Qt开发经验小技巧211-215
QMainWindow 在对停靠窗体进行排列的时候,有些不常用的设置容易遗忘,建议将 QMainWindow 的头文件函数过一遍一目了然. //设置停靠参数,不允许重叠,只允许拖动 this-> ...
- 网络编程懒人入门(十三):一泡尿的时间,快速搞懂TCP和UDP的区别
本文引用了作者Fundebug的"一文搞懂TCP与UDP的区别"一文的内容,感谢无私分享. 1.引言 网络协议是每个搞网络通信应用开发(比如IM.推送.网关等等)的程序员都必须要掌 ...
- 融云技术分享:全面揭秘亿级IM消息的可靠投递机制
本文由融云技术团队原创分享,原题"IM 消息同步机制全面解析",为使文章更好理解,对内容进行了重新归纳和细节修订. 1.内容概述 即时通讯(IM)系统最基础.最重要的是消息的及时性 ...
- 怎么在 Linux 下运行 smart_rtmpd
怎么在 Linux 下运行 smart_rtmpd 操作系统的准备 我们知道比较流行的 Linux 操作系统基本上分为两类,一类是以 Redhat 为基线的 Redhat, CentOS:另一类是 D ...
- C#/.NET/.NET Core技术前沿周刊 | 第 20 期(2025年1.1-1.5)
前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录.追踪C#/.NET/.NET Core领域.生态的每周最新.最实用.最有价值的技术文章.社区动态.优质项目和学习资源等. ...
- c# UWP 墨迹 手写识别
<InkCanvas Name="inkCanvas"></InkCanvas> <Button Name="btnRecognize&qu ...
- 数据库数据实时采集--Maxwell
1.Maxwell 简介 Maxwell 是一个能实时读取 MySQL 二进制日志文件binlog,并生成 Json格式的消息,作为生产者发送给 Kafka,Kinesis.RabbitMQ.Redi ...
- SQL SERVER日常运维(一)
以下语句请使用SA用户或者有DBA权限的用户进行执行,否则可能会出现权限不足报错 一.基础命令 查看当前数据库的版本 SELECT @@VERSION; 查看服务器部分特殊信息 select SERV ...
- Java开发自学第一天
Java学习日志 Day 01|2025/2/11|累计1天 今日学习时长 6小时 当日学习目标 1.了解JVM.JDK.JRE 2.学习Idea开发工具的基本使用 3.基本语法:运算符.数据类型.变 ...