当前位置: 首页 > news >正文

selenium环境搭建详细过程

一、准备工作

在开始搭建 Selenium 环境之前,确保具备以下条件:

1.稳定的网络连接

以便能够下载所需的软件和驱动程序。

2.操作系统基础

对您的操作系统(如 Windows、Mac 或 Linux)有基本的了解和操作能力。

二、安装 Python

1.访问 Python 官方网站

Welcome to Python.org

2.下载 Python 安装程序

  • Windows:选择 Windows installer 并根据系统位数(32 位或 64 位)选择相应版本。

        如果不知道怎么下载配置python,给我留言评论,后续补充说明

  • Mac:选择 macOS installer

  • Linux:通过包管理器(如 aptyum)或下载源码编译安装。

3.运行安装程序

按照提示进行安装,并确保在安装过程中勾选“Add Python to PATH”选项,以便在命令行中直接使用 Python 命令。

三、安装 Selenium

1.打开命令行终端

  • Windows:命令提示符(CMD)或 PowerShell。

  • MacLinux:终端。

2.运行以下命令安装 Selenium

pip install selenium
pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple

四、下载浏览器驱动

1.选择浏览器驱动        

Selenium 需要特定浏览器的驱动程序才能控制浏览器。常见的浏览器如 Chrome、Firefox、Edge 等都有相应的驱动。

2.下载驱动

  • Chrome:访问 Chrome 驱动的下载页面,根据您的 Chrome 浏览器版本选择对应的驱动版本进行下载。

  • Firefox:通常 Selenium 会自动下载 GeckoDriver,但您也可以手动下载最新版本:GeckoDriver 下载页面。

  • Edge:访问 Edge 驱动的下载页面,根据 Edge 浏览器版本选择对应的驱动版本进行下载。

五、配置环境变量

1.解压驱动

将下载的浏览器驱动解压。

2.添加环境变量

a.Windows
1.通过“控制面板” -> “系统和安全” -> “系统” -> “高级系统设置” -> “环境变量”。
2.在“系统变量”中找到“Path”,点击“编辑”,添加驱动的路径。
​
b.Mac 和 Linux
1.打开 `~/.bash_profile` 或 `~/.zshrc` 文件(如果文件不存在,可以创建)。
2.在文件末尾添加类似 `export PATH=$PATH:/your_driver_path` 的语句,其中 `/your_driver_path` 是驱动的实际路径。
3.保存文件后,运行 `source ~/.bash_profile` 或 `source ~/.zshrc` 使更改生效。

六、测试 Selenium 环境

1.编写测试脚本

from selenium import webdriverdriver = webdriver.Chrome()  # 如果使用其他浏览器,如 Firefox,则替换为 webdriver.Firefox()
driver.get("https://www.example.com")
# 在此处进行您的自动化操作
driver.quit()

2.运行脚本

  • 将脚本保存为 .py 文件,如 test_selenium.py

  • 在命令行终端中导航到脚本所在的目录,并运行:python test_selenium.py

3.验证结果

如果能够成功打开指定的网页,并且脚本运行没有错误,说明 Selenium 环境搭建成功。

如果遇到任何问题,请检查您的 Python 安装、Selenium 版本、浏览器驱动版本以及环境变量配置是否正确。

如果调试成功,可以看之前相关博客 

关于python自动化定位的9种函数方法-CSDN博客

python自动登录跳转获取信息等_自动登录网站查找信息做记录-CSDN博客

整理不易,诚望各位看官点赞 收藏 评论 予以支持,这将成为我持续更新的动力源泉。若您在阅览时存有异议或建议,敬请留言指正批评,让我们携手共同学习,共同进取,吾辈自当相互勉励!

相关文章:

selenium环境搭建详细过程

一、准备工作 在开始搭建 Selenium 环境之前,确保具备以下条件: 1.稳定的网络连接: 以便能够下载所需的软件和驱动程序。 2.操作系统基础: 对您的操作系统(如 Windows、Mac 或 Linux)有基本的了解和操…...

Linux知识 - VIM

VI于VIM linux系统里边内置了一个编辑器就叫做vi(visual editor),但vi的功能非常有限,所以一般Linux的使用人员会选择一个比vi更强大的编辑器vim Vim的三种工作模式 输入模式 在正常模式中按下别字母键,会进入插入模式…...

【数据结构】链表重难点突破

目录 一、链表的概念 二、链表的实现 2.1 链表的构建 2.2 从链表头部添加元素 2.3 从链表尾部添加元素 2.4 链表任意位置添加元素 2.5 常规方法实现 2.6 获取指定位置的元素 2.7 获取指定元素的位置 2.8 修改链表中某一节点 2.9 删除链表的头结点 2.10 删除链表的尾…...

大宗商品行业区块链应用

应用场景 区块链技术具有透明性、去中心化、不可篡改等特点,因此可以在大宗商品定价方面得到应用。通过区块链技术,相关交易的各方可以在无需依赖中心化第三方的情况下,实时、准确地获取定价信息。这种技术的应用能够提高效率、降低成本、提…...

Varjo:垂直起降机混合现实培训解决方案

混合电动垂直起降机(VTOL)作为一种新型的航空运输机具有超越传统汽车的安全性、与飞机相当的速度以及无与伦比的灵活起降功能。电动垂直起降机能够在建筑顶部、直升机场或是没有跑道的地区起飞或降落,且排放要远远低于由航空汽油驱动的传统飞…...

sqlite-vec一个SQLite3高效向量搜索扩展--JDBC环境使用

最近要用SQLite3,之前放出来了SQLiteUtile工具,方便操作。今天发现AIGC方面,RAG知识库需要使用向量数据库,来存储知识信息。一般呢都是用mysql,但无奈的是mysql就是不让用。突然又发现SQLite3有向量库扩展组件&#xf…...

10 基于深度学习的目标检测

首次完成时间:2024 年 11月 20 日 1. 使用OpenCV的dnn模块实现图像分类。 1)程序代码: import numpy as np import cv2# 解析标签文件 row open("model1/synset_words.txt").read().strip().split("\n") class_label …...

leetcode top100中的30道递归和贪心

21到30题,递归和贪心...

非常简单实用的前后端分离项目-仓库管理系统(Springboot+Vue)part 2

七、创建前端项目 你下载了nodejs吗?从cn官网下载:http://nodejs.cn/download/,或者从一个国外org网站下载,选择自己想要的版本https://nodejs.org/download/release/,双击下载好的安装文件,选择安装路径安…...

shell脚本(完)—脚本互调重定向的学习

免责声明 学习视频来自B 站up主泷羽sec,如涉及侵权马上删除文章。 笔记的只是方便各位师傅学习知识,以下代码、网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。 脚本互调 在Shell脚本中&a…...

ant-design-vue中table某一列进行合并

ant-design-vue中table某一列进行合并 1、在colums中配置自定义渲染 {title: 区域,dataIndex: cityName,key: cityName,align: center,width: 120,customCell: (record, rowIndex, column) > {return {rowSpan: record.rowSpan}} },2、处理请求来的数据 tableData.dataSo…...

基于Springboot+Vue社区养老服务管理系统(源码+lw+讲解部署+PPT)

前言 详细视频演示 论文参考 系统介绍 系统概述 核心功能 用户角色与功能 具体实现截图 1. 服务信息查看功能 主要代码实现 截图: 2. 服务申请功能 主要代码实现 截图: 3. 公告信息查看功能 主要代码实现 截图: 4. 服务信息…...

大数据调度组件之Apache DolphinScheduler

Apache DolphinScheduler 是一个分布式易扩展的可视化 DAG 工作流任务调度系统。致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用。 主要特性 易于部署,提供四种部署方式,包括Standalone、Cluster、Docker和…...

介绍一下strlwr(arr);(c基础)

hi , I am 36 适合对象c语言初学者 strlwr(arr)&#xff1b;函数是把arr数组变为小写字母 格式 #include<string.h> strlwr(arr); 返回值为arr 链接分享一下arr的意义(c基础)(必看)(牢记)-CSDN博客 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #incl…...

meterpreter常用命令 上

Meterpreter 是 Metasploit 框架中的一个高级 Payload&#xff0c;广泛用于渗透测试和攻击模拟。以下是一些常用的 Meterpreter 命令&#xff1a; 1. 基本命令 sysinfo 显示目标系统的基本信息&#xff08;操作系统、架构等&#xff09;。 getuid 获取当前用户的身份信息。…...

【kubernetes】kubernetes各组件的调用关系

目录 1. 说明2. Kubernetes组件概述2.1 控制平面组件2.2 节点组件 3. Kubernetes组件调用关系4. 示例说明 1. 说明 1.Kubernetes是一个开源的容器编排工具&#xff0c;其各个组件之间存在着复杂的调用关系&#xff0c;共同构建起一个完整的容器编排系统。2.Kubernetes集群主要…...

Java-08 深入浅出 MyBatis - 多对多模型 SqlMapConfig 与 Mapper 详细讲解测试

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 大数据篇正在更新&#xff01;https://blog.csdn.net/w776341482/category_12713819.html 目前已经更新到了&#xff1a; MyBatis&#xff…...

Vue.js修饰符

Vue.js 是一个渐进式JavaScript框架&#xff0c;用于构建用户界面。在Vue.js中&#xff0c;修饰符&#xff08;Modifiers&#xff09;是一种增强指令行为的工具&#xff0c;它们可以改变指令的默认行为。本文将详细讲解Vue.js中的修饰符&#xff0c;并提供实际示例&#xff0c;…...

【数据分享】2024年我国省市县三级的住宿服务设施数量(8类住宿设施/Excel/Shp格式)

宾馆酒店、旅馆招待所等住宿服务设施的配置情况是一个城市公共基础设施完善程度的重要体现&#xff0c;一个城市住宿服务设施种类越丰富&#xff0c;数量越多&#xff0c;通常能表示这个城市的公共服务水平越高&#xff01; 本次我们为大家带来的是我国各省份、各地级市、各区…...

【含文档】基于.NET的医院医保管理系统(含源码+数据库+lw)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 主要技术:mysql,vue 2.视频演示地址 3.功能 系统定义了两个角色&#xff1a;管理员和用户。 管理员进入主界面&…...

linux之kylin系统nginx的安装

一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源&#xff08;HTML/CSS/图片等&#xff09;&#xff0c;响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址&#xff0c;提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中&#xff0c;手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力&#xff0c;既支持点击、长按、拖拽等基础单一手势的精细控制&#xff0c;也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

23-Oracle 23 ai 区块链表(Blockchain Table)

小伙伴有没有在金融强合规的领域中遇见&#xff0c;必须要保持数据不可变&#xff0c;管理员都无法修改和留痕的要求。比如医疗的电子病历中&#xff0c;影像检查检验结果不可篡改行的&#xff0c;药品追溯过程中数据只可插入无法删除的特性需求&#xff1b;登录日志、修改日志…...

CentOS下的分布式内存计算Spark环境部署

一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架&#xff0c;相比 MapReduce 具有以下核心优势&#xff1a; 内存计算&#xff1a;数据可常驻内存&#xff0c;迭代计算性能提升 10-100 倍&#xff08;文档段落&#xff1a;3-79…...

ServerTrust 并非唯一

NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...

【git】把本地更改提交远程新分支feature_g

创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

unix/linux,sudo,其发展历程详细时间线、由来、历史背景

sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程&#xff1a;如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket&#xff08;服务端和客户端都要&#xff09;2. 绑定本地地址和端口&#x…...

纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join

纯 Java 项目&#xff08;非 SpringBoot&#xff09;集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...

适应性Java用于现代 API:REST、GraphQL 和事件驱动

在快速发展的软件开发领域&#xff0c;REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名&#xff0c;不断适应这些现代范式的需求。随着不断发展的生态系统&#xff0c;Java 在现代 API 方…...