python+selenium环境搭建(一)

news2024/11/26 15:35:14

python+selenium自动化测试环境包括四个部分:python、selenium、chrome谷歌浏览器、chrome谷歌浏览器驱动。其中浏览器也可以是火狐,IE等。目前自动化的主流浏览器还是chrome谷歌浏览器。

1.python的安装

目前测试行业应用最广的编程语言当属Python为首。python现在主流是3.7的版本。安装很简单,在官网(官网地址:https://www.python.org)选择对应系统的版本直接下载,然后

双击安装即可,安装路径可自定义,不是一定非要安装在C盘,但请尽可能避免中文路径。

python安装包后,需要配置环境变量,其实在3.7的安装过程中,第一个界面有一个“add python to path”的选项可以勾选(大概是这个名字)。勾选之后会自动将python添加到系统环境变量Path中。当然你也可以选择手动添加,添加方法如下:

我的电脑右键选择属性–>高级系统设置–>环境变量–>环境变量–>系统变量:找到path变量并修改,在Path路径的最前面加入:C:\Python37;C:\Python37\Scripts; (如果你的python安装在其他路径请做相应的改动,笔者这里是默认路径)

特别要注意:很多新手会把Path中原来的内容删除掉,笔者提醒一下这个绝对不能这样做,慎重!慎重!慎重!

安装之后,运行CMD窗口,输入python指令,用于校验python是否安装成功。如下图表示成功!

  注意:关于python3.7使用问题分析

升级到新的python版本是一种工作,但这种工作不一定会让你的软件用户受益, 因为用户关心的是功能和错误修复,而不是你的更新程度。

所以,仍有许多人使用 Python 3.7 并不奇怪, 截至 2022 年 12 月,从 PyPI 下载的包中有近 30% 是针对 Python 3.7 的, 这包括作为 CI 运行一部分的自动下载,所以这并不意味着 30% 的应用程序使用 3.7,但这仍然是很多人使用旧版本 Python 的原因。

不过,你可以延迟升级的时间有限,对于 Python 3.7,升级时间是在接下来的几个月内, Python 3.7 将于 2023 年 6 月到期,到期后不再修复错误,也没有安全修复。

Python 3.7 于 2018 年 6 月发布。正如你在 PEP 537 中所见:

  • 错误修复和安全修复子版本在前两年每 3 个月发布一次。
  • 之后,仅根据需要发布安全修复程序。
  • 3.7 发布后 5 年将停止发布。

也就是说,2023 年 6 月是发布 Python 3.7 的最后一个月, 从 2023 年 7 月开始,如果存在安全漏洞,Python 开发团队将不再修复。

对安全修复的需求是真实的:3.7.9 之后的所有版本都是由于安全修复。撰写本文时的最新版本 Python 3.7.16 已于 2022 年 12 月 6 日发布,其中包含 5 个不同的安全修复程序,从潜在的拒绝服务攻击到缓冲区溢出。

一些 Linux 发行版保证在已知时间段内提供长期支持,包括安全错误修复, 如果你使用的是这些发行版之一,并且它包含 Python 3.7,那么你可以依赖该发行版来提供安全修复,即使 Python 开发团队不会这样做。

所以理论上,你还不需要升级, 但在实践中,有一些警告。

大多数发行版中不包含 Python 3.7

  • RedHat 和克隆版不在任何版本中包含 Python 3.7。
  • Ubuntu 18.04 确实有 Python 3.7 作为附加组件,但它是 universe 附加组件包的一部分,因此尚不清楚安全支持会有多好;据推测,universe 包安全更新依赖于社区更新, 最后一次安全更新是在 2021 年 12 月,较新的 LTS Ubuntu 版本(20.04、22.04)不包括 Python 3.7。
  • Debian 10(“Buster”)包括 Python 3.7,但 Debian 11 不包括。

Linux 发行版不会向后移植所有安全修复程序,只会向后移植那些最重要的:

  • 即使是现在,当 Python 维护者自己提供错误修复时,Python 3.7.16 也有许多安全修复没有包含在 Debian维护的版本中。
  • Ubuntu 上一次针对 Python 3.7 的安全更新是在 2021 年 12 月,尽管此后已经进行了多次安全更新。

当然,长期支持只会持续有限的时间:

  • Debian Buster 将于 2024 年 6 月结束其自身的安全更新,因此这只会让你多花一年时间。
  • Ubuntu 18.04 将于 2023 年 4 月结束标准安全更新;之后,你需要付费才能获得安全更新。

你的依赖项将停止获取更新

一旦 6 月到来,第三方 Python 库和框架将开始放弃对 Python 3.7 的支持, 这意味着如果这些库有一个严重的错误,修复程序可能无法在 Python 3.7 上使用,并且你的 Linux 发行版不会为每个现有的 Python 库做反向移植。

事实上,一些库和框架已经开始放弃对 Python 3.7 的支持:

Django 3.2 LTS 仍然支持 Python 3.7,并将在 2024 年 4 月结束自己的安全更新。

现在是从 3.7 升级的时候了在短期内,你的最低目标是切换到一个 Python 版本,该版本维护了可用的依赖项版本。例如,如果你依赖 Pandas,正如我们所见,最后一个与 3.7 兼容的版本是在 2021 年 12 月发布的。因此,你至少希望使用 Python 3.8。

幸运的是,Python 3 版本相当向后兼容, 所以可以做的是:

  • 升级到 3.8。
  • 修复你发现的任何错误。
  • 升级到 3.9,修复所有错误。
  • 重复直到你使用 Python 3.10 或从 2023 年 1 月左右开始使用 Python 3.11。

2、通过python安装Selenium

打开cdm窗口执行命令pip install selenium

  等待cmd窗口提示successful,则selenium安装成功,如中途中断了继续输入pip install selenium重新安装,不影响!

3、安装chrome浏览器

Chrome官网:https://www.google.cn/chrome/

谷歌浏览器没法上网

  1. 代理问题
  2. 重置网络netsh winsock reset,然后重启
  3. 重新安装
  4. 然而,这些都没有用,最后通过关闭沙箱解决了问题,步骤如下:

 

在路径中添加 “-no-sandbox”,记得要与前面有空格

 

需要等待3-5分钟,然后就可以正常使用了。

第一次打开会弹出“您使用的是不受支持的命令行标记:-no-sandbox。稳定性和安全性会有所下降”不用理会,关掉就行。

5.也可以试着改下这里,跳转到百度进行搜索。在谷歌设置----搜索引擎----

注:如果还是不行,建议检查一下是不是有墙,有墙的话可以更改下。

拓展:使用这个办法可以兼容IE:      CSDN作者:丶凉  链接如此:链接

4、安装chrome浏览器驱动

厂家出品的专门用来做自动化的东西

以下内容是手动安装浏览器驱动,有弊端:浏览器更新,还要重新下载对用版本的驱动。

chrome浏览器驱动下载地址:http://chromedriver.storage.googleapis.com/index.html

  • 查看chrome浏览器版本:浏览器设置--关于chrome

  • 查看与浏览器对应的chromedriver版本

 

  • 下载与chrome浏览器相匹配的chromedriver版本,解压后,将chromedriver.exe放置到python的目录下;然后把驱动的路径添加到环境变量path。

可以使用第二种方式进行自动化安装浏览器驱动,这个是一个老师自己开发的,需要用安装包(要求python3.9以上)。

pip install webdriver-helper

 

🎁更多干货


完整版文档下载方式:

这些资料,对于从事【软件测试】等相关工作的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享。

在评论区和我互动交流或者私❤我【软件测试学习】领取即可,拿走不谢。


如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “👍点赞” “✍️评论” “💙收藏” 一键三连哦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/701144.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++】—— 继承

序言: 在之前,我们已经完成了对 C 初阶的讲解。接下来,我将带领大家学习关于C 进阶的相关知识,而今天我给大家介绍的就是关于 C三大特性之一的——继承。 目录 (一)继承的概念及定义 1、继承的概念 2、…

git常用命令之log

10. log 10.1 查看log 命令作用延展阅读git log输出 commit hsitory with commit detailgit reflog输出 HEAD ref 的 reflog链接git log --oneline--oneline选项会把提交信息压缩输出在单行。默认情况下,只显示commit id和commit message的第一行内容。$ git log …

Kubernetes核心概念汇总—Kubernetes 组件

当你部署完 Kubernetes,便拥有了一个完整的集群。 一组工作机器,称为 节点, 会运行容器化应用程序。每个集群至少有一个工作节点。 工作节点会托管 Pod ,而 Pod 就是作为应用负载的组件。 控制平面管理集群中的工作节点和 Pod。 在…

应用服务器Application Server manual

Application Server manual Sun Java™ System Application ServerStart Default ServerServer is RunningAdmin Console Sun Java™ System Application Server 从事Java EE的研发很多年,竟然才知道Sun开发的Application Server,以及最新版本Glassfish…

解决Vue.js not detected的问题(Vue.js devtools变灰色)

今天在谷歌商店下载安装了Vue.js devtools,但是出现了图标是灰色,鼠标移过去是Vue.js not detected的问题 首先呢,要去找一个有vue.js写的网站,比如哔哩哔哩 (゜-゜)つロ 干杯~-bilibili 此时发现图标不再是灰色的,也不出现Vue.js…

@SuppressWarnings注解的作用

一、问题由来 我们在写代码的时候,不论是导入的包,还是声明的对象,有时候会出现黄线,感觉就很难受! SuppressWarnings注解主要用在取消一些编译器产生的警告对代码左侧行列的遮挡,有时候这会挡住我们断点…

Apache数据库项目盘点

著名的开源软件组织 Apache 软件基金会目前维护着 300 多个活跃项目,其中包含不少数据库相关的项目,本文简单介绍一下这些开源项目。 Apache AGE Apache AGE 是一个基于 PostgreSQL 的图数据库,目标是为所有关系型数据库提供图数据处理和分…

漏洞复现|Kyan密码泄露/命令执行漏洞

0x01阅读须知 所有发布的技术文章仅供参考,未经授权请勿利用文章中的技术内容对任何计算机系统进行入侵操作,否则对他人或单位而造成的直接或间接后果和损失,均由使用者本人负责。 郑重声明:本文所提供的工具与思路仅用于学习与…

Java【异常】

异常 1. 异常概念程序开发中常见异常 2. 异常的体系结构2.1 异常体系核心父类异常的另外划分模式 3. 异常的处理流程3.1 异常的捕获并处理try-catch-finally代码块组合一:try catch组合二:finally代码块finally不执行的特殊情况 3.2 throw 和 throws3.3 …

8 系统定时器(Systick)(STM32HAL库)

目录 系统定时器(Systick) SysTick定时器特性介绍 SysTick定时器的功能 SysTick定时器寄存器介绍 Systick定时器的使用 系统定时器(Systick) SysTick定时器特性介绍 计数宽度: 24bit来存储数据,2^24…

Spring高手之路7——事件机制与监听器的全面探索

文章目录 1. Spring中的观察者模式2. 监听器2.1 实现ApplicationListener接口创建监听器2.2 EventListener注解创建监听器2.3 对比ApplicationListener接口和EventListener注解的创建方式 3. Spring的事件机制3.1 ApplicationEvent3.2 ApplicationContextEvent3.3 ContextRefre…

基于weka平台手工实现(LinearRegression | Ridge Regression,岭回归)

一、普通的线性回归 线性回归主要采用最小二乘法来实现,主要思想如下: X ( x 11 x 12 ⋯ x 1 d 1 x 21 x 22 ⋯ 5 1 ⋮ ⋮ ⋱ ⋮ ⋮ x m 1 x m 2 ⋯ x m d 1 ) X\left( \begin{matrix} x_{11} & x_{12} & \cdots & x_{1d} & 1 \\ x_{2…

Vinted店铺为什么被封?如何应对?

Vinted是一家在线二手交易平台,专门用于买卖衣物和时尚配件。自从2022年以来,Vinted也越来越向综合性跨境电商平台转变。细心的伙伴都会发现,近来Vinted这阵子封号确实很严重,感觉是风控变严格了,但是万变不离其宗&…

xhtmlrenderer 将html转换成pdf,设置多字体, 以及中文不显示的问题

接上一篇 https://blog.csdn.net/qq_21480147/article/details/131187202 多字体 字体文件自行搜索或者window中自带的搜索(C:\Windows\Fonts) 中文不显示 在要渲染的中文的地方中设置stylefont-family:[字体] 该字体需要对应指定的属性, 属性参考:

java程序改变io临时存储路径

System.setProperty(“java.io.temdir”,“your path”)

【UE5 Cesium】08-Cesium for Unreal 子关卡应用实例(上)

UE版本:5.1 效果 (运行游戏可以看到进入关卡体积内楼房模型才会显现,以此来减少电脑性能消耗) 步骤 一、新建两个子关卡(以北京和上海为例) 点击窗口-》关卡-》新建 命名第一个子关卡为“SubLevel_Bei…

计算机专业学生暑假要去看这些经典书籍!

好书在精不在多,每一本经典书籍都值得反复咀嚼,温故而知新! 分享几本经典书籍。 重构 改善既有代码的设计 就像豆瓣评论所说的,看后有种醍醐灌顶、欲罢不能的感觉。无论你是初学者,还是深耕多年的老手,这…

Bytebase VS Yearning

下文对 Bytebase 和 Yearning 两个数据库管理工具进行了多维度比较🔍。 产品功能定位 Yearning:功能较为单一的独立数据库审核工具,适合小团队进行简单的 SQL 审核,若要应对复杂需求必须进行大量二次开发,用户群更偏…

从功能测试进阶自动化测试,熬夜7天整理出这一份3000字超全学习指南!

因为我一直在分享自动化测试技术,所以,经常被问到: 功能测试想转自动化,请问应该怎么入手?或者有哪些书推荐? 那么,接下来我就结合自己的经历聊一聊我是如何在工作中做自动化测试的。 测试新…

【技术操作】EasyCVR如何在分享页增加控制台跳转?

EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有GB28181、RTSP/Onvif、RTMP等,以及厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等,能对外分发RTSP、RTMP、FLV、HLS、WebRTC等格式的视频流。 在Ea…