Python+Selenium+Unittest 之selenium1--环境搭建

news2024/11/20 10:22:26

        对于学习一个新东西来说,最开始就是要搭建环境了,关于python的环境搭建这里就不说了,主要说下selenium的环境搭建相关内容和安装过程中可能遇到的坑,细节不太一致的可以自行百度解决下,本章所使用的版本为python3.9+selenium3.10.0。

        首先是要下载selenium,我采用的是使用pip的方法进行安装selenium,网上推荐的也是使用这种办法来进行安装,关于pip相关的这里就不细说了,大家可以在cmd中使用pip -V(注意是大写V)的命令查看是否安装成功,如果安装成功的话,会显示出pip的版本,如下面截图所示,到这没有问题的话,我们就可以开始使用pip安装selenium了。

        使用pip安装selenium需要在cmd窗口输入命令:pip install selenium,这么输入的话默认安装的是最新的版本,如果我们想安装指定版本,可以使用命令pip install selenium==xxx(xxx代表的是版本号),我使用的是selenium3.10.0版本,所以安装命令为:pip install selenium==3.10.0,,如果安装后和下方截图一样,表示安装成功了。

         到这之后我们可以先简单写个启动浏览器的脚本,看看selenium是否安装成功。

from selenium import webdriver      #导入selenium模块导入webdriver
driver = webdriver.Chrome()         #webdriver.Chrome()是启动谷歌浏览器然后定义成变量driver
driver.get("https://www.baidu.com") #打开百度

        这么输入后,我们试着运行下代码看看能否顺利打开浏览器。如果能正常打开,可以忽略以下内容,如果有和下面截图一样的错误,可以接着往下看。

        这时候我们就需要下载一个谷歌的webdriver 驱动了,具体需要怎么下载首先可以看下谷歌浏览器的版本,然后根据浏览器版本去下载对应的webdriver(谷歌浏览器webdriver下载地址:http://chromedriver.storage.googleapis.com/index.html)。下载完webdriver应该是个zip包,解压后是chromedriver.exe这个名称的文件。

          之后我们在cmd中输入where python,可以看到python本地的安装路径。

         然后把chromedriver.exe放到python的根目录下,如果之前没有配置环境变量的话,记着配置下环境变量。

 这时候在cmd中输入chromedriver.exe如果有下面的内容就代表安装成功webdriver了。

这时候我们在运行我们的代码正常就应该能启动浏览器了。

 

        如果大家在安装的时候遇到了问题,可以在文章下留言,或者关注公众号:刘阿童木的进化记,进行留言


 下图为公众号二维码,内容会同步发出,大家可以关注一起学习!

 

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

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

相关文章

Xcode安装特定版本系统的模拟器(不支持断点下载所以总是下载失败)

Xcode里下载太慢就算了,他不支持断点下载,一直一直一直下载失败,根本就装不上嘛!!! 添加模拟器、下载需要的iOS版本 添加模拟器 没有要的iOS版本则点击Download more 然而因为Xcode不支持断点下载&…

【C语言】内存操作函数

目录 一、memcpy函数 1、memcpy函数的用途 2、memcpy函数的使用 3、memcpy函数的模拟实现 二、memmove函数 1、memmove函数的用途 2、memmove函数的使用 3、memmove函数的模拟实现 三、memset函数 1、memset函数的用途 2、memset函数的使用 3、memset函数的模拟实现 四、memcmp…

React 入门:实战案例 TodoList 修改 Todo Item的状态

文章目录目标实现效果实现思路实现步骤第一步:定义更改 Todo 状态的方法,以供调用第二步:App 组件传递更改 Todo 状态的方法给子组件 List第三步:List 组件传递更改 Todo 状态的方法给子组件 Item第四步:Item 调用更改…

Spring 6.0 正式发布,一文了解新特性

正式发布 Spring Framework 6.0 首个 RC 版本正式发布,可以开始使用了。 新特性 我们一起来看看这次6.0版本带来了哪些特性?需要注意的是该版本整个框架代码库现在基于 Java 17 源代码级别,所以如果你想使用需要升级版本到 JDK 17 才可以&a…

什么是FPGA fpga的核心作用

fpga名词解释:FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。 fpga核心做用:它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的&#…

【吴恩达机器学习笔记】十七、总结

✍个人博客:https://blog.csdn.net/Newin2020?spm1011.2415.3001.5343 📣专栏定位:为学习吴恩达机器学习视频的同学提供的随堂笔记。 📚专栏简介:在这个专栏,我将整理吴恩达机器学习视频的所有内容的笔记&…

计算机毕业设计springboot+vue基本医院公众号建设推动医疗卫生服务现状研究

项目介绍 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代,医院公众号建设推动医疗卫生服务就是信息时代变革中的产物之一。 任…

从零开始学Java之eclipse的安装配置与使用,看这篇就够了

前言 在上一篇文章中,壹哥给大家介绍了Notepad这个更高级点的记事本,它进行Java开发相比windows自带的记事本要更方便一些。但是即便如此,用这种记事本进行Java开发效率依然很低。如果是少量的代码编写还好说,大量代码的开发&…

计算机毕业设计springboot+vue基本微信小程序的电子书阅读器小程序

项目介绍 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代,电子书阅读器小程序就是信息时代变革中的产物之一。 任何系统都要遵循…

【云原生】Kubernetes(k8s)Istio Gateway 介绍与实战操作

文章目录一、概述二、Istio 架构三、通过 istioctl 部署 Istio1)安装istioctl 工具2)通过istioctl安装istio3)检查四、Istio Gateway五、Istio VirtualService 虚拟服务六、示例演示(bookinfo)1)安装bookin…

MATLAB | 一起来感受数学之美,第一届迷你黑客大赛回顾

Hey真的是好久不见,最近确实是比较忙更新频率也下来了,过段时间应该能恢复正常更新速度,之前给大家解说过今年举办的math is beautiful迷你黑客大赛,但这其实是第二届大赛,本期推送带大家回顾一下第一期大赛&#xff0…

为什么索引可以让查询变快?终于有人说清楚了!

概述 人类存储信息的发展历程大致经历如下: 由于是个人凭着自己理解总结的,因此可能不一定精确,但是毋庸置疑的是,在当代,各大公司机构部门的数据都是维护在数据库当中的。 数据库作为数据存储介质发展的最新产物&am…

大数据面试之MapReduce常见题目

大数据面试之MapReduce常见题目 MapReduce中Shuffle过程及优化 1.1 Shuffle的详细图解 1.2 Shuffle的详细文字过程 Shuffle文字部分描述: ​ Shuffle横跨Map和Reduce阶段,是指map()方法之后,reduce()方法之前,中间这段汇洗的过…

Web前端大作业制作个人网页(html+css+javascript)

🎉精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

功能强大UI美观的视频答题猜歌闯关娱乐微信小程序源码下载

内容目录一、详细介绍二、效果展示1.部分代码2.效果图展示三、学习资料下载一、详细介绍 这是一款拥有后端的闯关娱乐小程序 支持个人小程序和企业小程序上线运营 功能强大齐全,带数据本地化 (数据在自己服务器自己管理无需担心第三方失效的问题) 支持看视频答题闯关 支持…

Java多线程处理笔记

学习视频:598-JavaSE进阶-多线程概述_哔哩哔哩_bilibili 目录 多线程概述 进程和线程的关系 多线程并发的理解 分析程序存在几个线程 实现线程的第一种方式 实现线程的第二种方式 采用匿名内部类的方式 线程生命周期 获取线程的名字 获取当前线程对象 线程的sleep方法 …

Spring Cloud Stream 结合rocketmq

Spring Cloud Stream 结合rocketmq 官方网址:https://github.com/alibaba/spring-cloud-alibaba/wiki/RocketMQ 你可以在这个地址上下载到相关示例项目,配置项等相关信息 spring-cloud-stream 文档(这个地址似乎只有集合kafaka和rabbit的示…

Akka 学习(六)Actor的监督机制

目录一 监督机制1.1 错误隔离性1.2 系统冗余性1.3 Actor的监督1.3.1 监督体系1.3.2 理解1,3.3 监督策越一 监督机制 1.1 错误隔离性 在学习Akka如何对失败情况进行响应之前,先了解一些在分布式应用程序中都应该遵循的通用策略:隔离错误。假设每个组件都…

【刷题-数组篇】狂刷力扣三十题,“数组”嘎嘎乱写 | 2022 12-5到12-9

前言 (12月5日)突然想起了很久以前别人(具体来源已经记不清了)传给我的一套题单。网上的题单不少,光收藏可不行,关键还得下手。 这套题单的题目数量为300出头,什么时候刷完我还没有明确计划&a…

web前端大作业 (仿英雄联盟网站制作HTML+CSS+JavaScript) 学生dreamweaver网页设计作业

🎉精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…