一文7个步骤从0到1教你搭建Selenium 自动化测试环境

【导语】Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。本文详细介绍了搭建自动化测试环境所需的工具,让你学习自动化测试不求人!
写在前面
学习selenium需要的工具:
1、浏览器;
2、Python;
3、Selenium;
4、FireBug(Firefox);
5、驱动chromedriver、IEDriverServer、geckodriver;
6、IDE(Pycharm/Sublime/Eclipse等等)
一、浏览器
Selenium支持很多浏览器,那么要选择哪个浏览器?选择哪个版本呢?小白建议用Firefox,当然Chrome,IE,Safari等浏览器也是支持的,只是需要相应的驱动driver。
这里推荐使用Firefox(火狐浏览器),因为小白前期可能很难定位元素,需要借助一款插件firebug,所以先在Firefox熟悉了在使用其他浏览器。
这里无所谓什么新不新版的Firefox,最新版都是可以使用的,需要的驱动下面会讲到。
二、Python
Windows下安装Python很简单,官网下包直接装就行。
三、Selenium
Python环境搭建好了以后,安装selenium就简单了,安装selenium直接使用pip安装
pip install selenium四、插件FireBug
FireBug是火狐浏览器的一款查看代码元素的插件,推荐新手安装,可以快速的定位元素,selenium的重点就是元素定位,只有定到位了,才能进行下一步操作。
安装方法:打开Firefox浏览器,点击右上角按钮,点击附加组件,点击扩展,搜索firebug,点击安装,重启。
测试安装成功,按F12出现如下画面,表示firebug已经安装成功了。

五、驱动安装(Windows环境下)
Firefox:
新版本的Firefox浏览器需要安装geckodriver驱动
使用方法:
1、下载完成解压;
2、将geckodriver放到python文件下
3、添加到环境变量中(例如:G:\Python36\geckodriver.exe)
Chrome:
如果需要使用Chrome浏览器或者IE浏览器,则需要对应的驱动,chromedriver,chromedriver没有64位版本,32即可驱动:
下载地址:https://npm.taobao.org/mirrors/chromedriver。使用方法同geckodriver。
IE:
IEDriverServer,下面链接能够下载所有版本的selenium以及IEDriverServer,注意IEDriverServer区分32位/64位:
下载地址:http://selenium-release.storage.googleapis.com/index.html。使用方法同geckodriver。
六、IDE的选择
IDE可以用python自带的IDLE,也可以用一些编辑器,例如Sublime以及Pycharm。
七、测试打开浏览器
输入以下代码:
# -*- coding: utf-8 -*- from selenium import webdriver driver = webdriver.Firefox() driver.get("https://www.baidu.com")打开Firefox浏览,并且打开百度首页:

如果你还有许多困惑,那么我整理的视频资源和文档会是你的良师益友,或许可以给你带来一些实际性的帮助与突破【保证100%免费】


相关文章:
一文7个步骤从0到1教你搭建Selenium 自动化测试环境
【导语】Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。本文详细介绍了搭建自动化测试环境所需的工具,让你学习自动化测试不…...
Oracle目录应急清理
Oracle目录应急清理清理错误位置的归档日志清理30天前的监听告警日志清理监听日志清理30天以前的trace文件清理30天以前的审计日志清理错误位置的归档日志 检查$ORACLE_HOME/dbs下是否有归档文件: ls $ORACLE_HOME/dbs/arch* | wc -l检查和修改归档位置࿱…...
使用 OBS 进行区域录制
1. OBS 与区域录屏 实际上 OBS 的使用场景可谓是与区域录屏格格不入的。 虽然我们依旧有一些办法在 OBS 中达到区域录屏的目的,但其操作实在过于繁琐,还不如直接使用 QQ 或者 Windows 最新的自带截屏录屏来进行区域录屏来的方便实在。 但若非常强烈的…...
aws eks 配置授权额外的用户和角色访问集群
参考资料 https://github.com/kubernetes-sigs/aws-iam-authenticator#full-configuration-formathttps://docs.amazonaws.cn/zh_cn/eks/latest/userguide/add-user-role.html 众所周知,aws eks使用 Authenticator 或者 aws 命令来进行账户级别的用户和角色的授权…...
MagicalCoder可视化开发平台:轻松搭建业务系统,为企业创造更多价值
让软件应用开发变得轻松起来,一起探索MagicalCoder可视化开发工具的魔力!你是否为编程世界的各种挑战感到头痛?想要以更高效、简单的方式开发出专业级的项目?MagicalCoder低代码工具正是你苦心寻找的产品!它是一款专为…...
8个不能错过的程序员必备网站,惊艳到我了!!!
程序员是一个需要不断学习的职业,不少朋友每天来逛CSDN、掘金等网站,但一直都抱着“收藏从未停止,学习从未开始”的态度,别骗自己了兄弟。在编程体系中,有很多不错的小工具,可以极大得提升我们的开发效率。…...
Mybatis(二):实现“增删改查”
Mybatis(二):实现“增删改查”前言一、MyBatis的增删改查1、添加2、修改3、删除4、查询4.1 查询一个实体4.1 查询集合二、MyBatis获取参数值的两种方式(重点)1、单个字面量类型的参数2、多个字面量类型的参数3、map集合…...
Faster RCNN 对血液细胞目标检测
目录 1. 介绍 2. 工具函数介绍 utils 2.1 xml 文件的读取 get_label_from_xml 2.2 绘制边界框 draw_bounding_box...
【数据结构】Java实现栈
目录 1. 概念 2. 栈的使用 3. 自己动手实现栈(使用动态数组实现栈) 1. 创建一个MyStack类 2. push入栈 3. pop出栈 4. 查看栈顶元素 5. 判断栈是否为空与获取栈长 6. toString方法 4. 整体实现 4.1 MyStack类 4.2 Test类 4.3 测试结果 1.…...
【数据结构】排序
作者:✿✿ xxxflower. ✿✿ 博客主页:xxxflower的博客 专栏:【数据结构】篇 语录:⭐每一个不曾起舞的日子,都是对生命的辜负。⭐ 文章目录1.排序1.1排序的概念1.2常见的排序算法2.常见排序算法2.1插入排序2.1.1直接插入…...
过拟合、验证集、交叉验证
过拟合 简单描述:训练集误差小,测试集误差大,模型评估指标的方差(variance)较大; 判断方式: 1、观察 train set 和 test set 的误差随着训练样本数量的变化曲线。 2、通过training accuracy 和…...
原力计划来了【协作共赢 成就未来】
catalogue🌟 写在前面🌟 新星计划持续上新🌟 原力计划方向🌟 原力计划拥抱优质🌟 AIGC🌟 参加新星计划还是原力计划🌟 创作成就未来🌟 写在最后🌟 写在前面 哈喽&#x…...
一文了解Jackson注解@JsonFormat及失效解决
背景 项目中使用WRITE_DATES_AS_TIMESTAMPS: true转换日期格式为时间戳未生效。如下: spring:jackson:time-zone: Asia/Shanghaiserialization:WRITE_DATES_AS_TIMESTAMPS: true尝试是否关于时间的注解是否会生效,使用JsonForma和JsonFiled均失效。 常…...
webpack——使用、分析打包代码
世上本无nodejs js最初是在前端浏览器上运行的语言,js代码一旦脱离了浏览器环境,就无法被运行。直到nodejs的出现,我们在电脑上配置了node环境,就可以让js代码脱离浏览器,在node环境中运行。 浏览器不支持模块化 nodej…...
libvirt零知识学习5 —— libvirt源码编译安装(3)
接前一篇文章libvirt零知识学习4 —— libvirt源码编译安装(2) 在上篇文章及上上篇文章中构建libvirt的时候遇到了一个问题“ERROR: Problem encountered: YAJL 2 is required to build QEMU driver”。上篇文章讲到即使安装了相应的YAJL库仍然不能解决问…...
Nmap 的使用教程
Nmap是一个网络侦测和安全审计工具。它可以用于发现网络上的主机和服务,并提供广泛的信息,其中包括操作系统类型和版本、应用程序和服务的详细信息等。在本文中,我们将介绍如何使用Nmap扫描网络主机,识别开放端口以及进行操作系统…...
async与await异步编程
ECMA2017中新加入了两个关键字async与await 简单来说它们是基于promise之上的的语法糖,可以让异步操作更加地简单明了 首先我们需要用async关键字,将函数标记为异步函数 async function f() {} f()异步函数就是指:返回值为promise对象的函…...
移动应用架构设计:如何转变开发流程
移动应用架构设计:如何转变开发流程 2023 年掌握移动应用程序架构的指南(附案例研究) 如果他们要解决这个问题,开发人员需要了解移动架构设计的最佳实践,使他们能够构建用户喜欢的优化应用程序。其中一些做法包括使用…...
NX二次开发 图层函数总结
简介: NX二次开发 图层相关的总结。 函数: uc5007()uc5008()uc5009()UF_LAYER_ask_category_info()获取图层类别的信息UF_LAYER_ask_category_tag()根据图层分类名称查询其图层分类标识UF_LAYER_ask_status()UF_LAYER_ask_work_layer()UF_LAYER_create…...
windows微服务部署
windows部署一.nginx部署1.nginx 官网下载2. 配置nginx3.配置nigix 防止nigix刷新404不生效二.配置redis部署成服务1.在系统配置中 配置为系统变量2.打开快捷登录服务管理#3. 开启redis三.windows部署jar包一.nginx部署 1.nginx 官网下载 地址 官网地址 安装 windows版本 可安…...
C++的std--ranges中的优化异构
C的std::ranges中的优化异构:现代编程的效率革命 C20引入的std::ranges库彻底改变了算法和容器的交互方式,其中优化异构(Heterogeneous Optimization)技术尤为引人注目。传统算法在处理不同类型的数据时,往往需要显式…...
告别“替身攻击”:手把手教你用零阶优化(ZOO)直接黑盒攻击DNN模型
零阶优化实战:无需替代模型的黑盒对抗攻击指南 当面对一个部署在云端的深度学习API时,传统白盒攻击手段往往束手无策——既无法获取模型架构,也不能执行反向传播。本文将揭示如何运用零阶优化技术,仅通过输入输出查询就能构造高效…...
保姆级教程:给你的ClickHouse 23.8装上‘仪表盘’(Prometheus+Grafana监控配置详解)
ClickHouse 23.8全链路监控实战:从Prometheus埋点到Grafana告警设计 当你的ClickHouse集群查询延迟突然从200ms飙升到5秒,是内存不足?磁盘IO瓶颈?还是并发查询堆积?本文将带你构建一套完整的监控告警体系,让…...
Fortran开发环境配置2024实践指南
Fortran开发环境配置2024实践指南 【免费下载链接】vscode-fortran-support Fortran language support for Visual Studio Code 项目地址: https://gitcode.com/gh_mirrors/vs/vscode-fortran-support 在科学计算与工程领域,Fortran语言依然保持着不可替代的…...
DHTesp库详解:ESP32/ESP8266高可靠温湿度驱动与环境参数计算
1. DHTesp 库深度解析:面向 ESP32/ESP8266 的高可靠性温湿度传感驱动1.1 库的诞生背景与工程必要性DHTesp 并非简单的 Arduino 兼容库移植,而是在特定硬件约束下催生的工程化解决方案。其核心驱动力源于 ESP32 多核架构对传统单线协议(1-Wire…...
OpenClaw对话式编程:Qwen3.5-9B解释代码与生成可执行脚本
OpenClaw对话式编程:Qwen3.5-9B解释代码与生成可执行脚本 1. 为什么需要对话式编程助手? 作为一个经常需要写脚本处理数据的开发者,我发现自己80%的时间都花在重复性工作上:查文档、调试语法错误、验证代码逻辑。直到尝试用Open…...
QMK Toolbox:机械键盘固件定制与刷写全攻略
QMK Toolbox:机械键盘固件定制与刷写全攻略 【免费下载链接】qmk_toolbox A Toolbox companion for QMK Firmware 项目地址: https://gitcode.com/gh_mirrors/qm/qmk_toolbox 一、核心价值:重新定义键盘控制自由 QMK Toolbox 作为开源硬件领域的…...
终极指南:如何让2007年旧Mac运行最新macOS系统
终极指南:如何让2007年旧Mac运行最新macOS系统 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 还在为那台陪伴多年的老Mac无法升级最新系统而烦恼吗࿱…...
OpenClaw多模型切换技巧:GLM-4.7-Flash与Qwen3-32B混合调用实战
OpenClaw多模型切换技巧:GLM-4.7-Flash与Qwen3-32B混合调用实战 1. 为什么需要多模型切换 去年冬天,当我第一次尝试用OpenClaw自动处理周报时,发现一个有趣的现象:用同一个模型处理文本摘要和代码片段时,效果差异很大…...
重磅:中科院分区退出历史!| 附2026年《新锐期刊分区表》完整版EXCEL.
3月24日,2026版《新锐期刊分区表》正式发布,随后引起了广泛的关注和争议。议论最多的,竟然是《新锐期刊分区表》到底是不是“中科院分区表”?3 月 25 日,公众号“新锐学术”发布《“走进新锐分区”专题:即将…...
