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

对selenium进行浏览器和驱动进行配置Windows | Linux

前言

selenium是Python中操控浏览器最著名的包,在数据分析和爬虫方面都有很重要的用途,但是它的使用配置比较复杂,目前总结了快捷的配置方法,分享一下

目录

Windows版本selenium

安装谷歌浏览器

将谷歌浏览器放到指定目录,自定义目录

安装selenium相关依赖包

 确定自己的谷歌浏览器的版本号

验证selenium环境是否安装成功

Linux版本selenium


Windows版本selenium

安装谷歌浏览器

首先是安装浏览器,其实装那个版本的浏览器都可以,只是使用selenium操控谷歌浏览器更主流而且相对技术更加完善一点,所以我就在这里安装了谷歌浏览器

打开谷歌浏览器官网进行下载,谷歌官网需要翻墙,同志们也可以从其他渠道下载,因为谷歌浏览器现在下载那个版本,基本上都会自动更新到最新版

谷歌浏览器官方网站: Google Chrome 网络浏览器

下载之后点击安装,谷歌浏览器不能指定路径进行安装,直接就安装成功了,默认位置是C盘

将谷歌浏览器放到指定目录,自定义目录

前面已经安装好了,现在我们要把它的目录放到指定位置后还能保证启动起来

打开谷歌浏览器的属性

如图所示,可以看到安装好的谷歌浏览器在电脑中的位置 

找到Google文件夹的位置

把这个文件夹移动到你想安装谷歌浏览器的位置,我这里放到了D:\Software文件夹下

用管理员权限打开CMD

在开始菜单搜索cmd,右键选择以管理员身份运行

输入命令

mklink 谷歌安装的默认文件夹路径 移动后的谷歌文件夹路径

创建双方的符号链接

尝试打开桌面上的谷歌浏览器,如果正常,自定义路径安装成功

安装selenium相关依赖包

创建虚拟环境

进入到这个虚拟环境安装selenium和webdriver_manager的依赖包

webdriver_manager的依赖包是管理谷歌浏览器的驱动的,自动下载适合自己谷歌浏览器的驱动,也可以直接手动指定

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

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

 确定自己的谷歌浏览器的版本号

验证selenium需要使用

如果所示,我的谷歌浏览器的版本号是138.0.7204.50

一般谷歌浏览器会自动更新到最新版,所以一般就是最新的版本号

验证selenium环境是否安装成功

创建一个项目,指定刚才配置好相关selenium依赖的虚拟环境

 创建一个Python文件,粘贴下面代码,直接运行

下面代码这里要替换成自己谷歌浏览器的版本号,记得版本号加引号!!

谷歌浏览器的版本上面已经提供

driver_version="自己谷歌浏览器的版本号"

from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
from webdriver_manager.chrome import ChromeDriverManager
import time# selenium 4的写法
driver = webdriver.Chrome(service=ChromeService(ChromeDriverManager(driver_version="自己谷歌浏览器的版本号").install()))
driver.get("https://www.baidu.com")
time.sleep(10)

 如果运行起来之后弹出百度的谷歌浏览器窗口,说明selenium可以对谷歌浏览器进行操控

说明selenium环境配置成功,可以正常使用

Linux版本selenium

在Linux服务器上面安装一个指定好版本的谷歌浏览器

看自己公司的Linux系统使用的是什么,如果是K8s就找dockerfile的安装谷歌浏览器方法

如果是docker直接下载镜像安装都可以

python项目引入selenium 和 webdriver_manager的依赖包

就可以使用了,原理是一样的,大同小异

只不过是在Linux操作系统上面操控Linux操作系统中的谷歌浏览器而已

http://www.dtcms.com/a/263312.html

相关文章:

  • [面试]手写题-Promise.all() Promise.race()
  • 博图SCL编程:结构体(STRUCT)使用详解与实战案例
  • HTML<span>元素详解
  • 安装bcolz包报错Cython.Compiler.Errors.CompileError: bcolz/carray_ext.pyx的解决方法
  • 条件运算符和逗号运算
  • Intel Fortran Compiler (ifx) 详细使用指南:新一代 Fortran 编译器在流体动力学模拟中的应用
  • 51单片机CPU工作原理解析
  • python环境快速搭建
  • 深入比较 Gin 与 Beego:Go Web 框架的两大选择
  • Spring Boot 统一功能处理:拦截器详解
  • 机器视觉检测系统的影响因素解析
  • Prompt 精通之路(七)- 你的终极 AI 宝典:Prompt 精通之路系列汇总
  • 《Building REST APIs with Flask》读后感
  • 打造现代Web应用的高效解决方案:Full Stack FastAPI模板
  • JVM 垃圾回收(GC)笔记
  • Nestjs框架: Nestjs 复杂企业应用场景架构设计分析
  • WPF中依赖属性和附加属性
  • API接口安全-2:签名、时间戳与Token如何联手抵御攻击
  • 时序数据集---UWave
  • 显著性预测 SUM
  • tcpdump工具交叉编译
  • 《JMS事务性会话彻底解析:消息监听中的 commit、rollback 和幂等设计》
  • 每天一个前端小知识 Day 17 - 微前端架构实战与 Module Federation
  • 记录H5内嵌到flutter App的一个问题,引发后面使用fastClick,引发后面input输入框单击无效问题。。。
  • BI软件选型:7款可私有部署产品对比
  • 利用不坑盒子的Copilot,快速排值班表
  • 在 Vue3 + Element Plus 中实现 el-table 拖拽排序功能
  • 【c语言课程设计】单选题考试系统(无链表,含码源)
  • 多校区在线跑腿小程序源码系统搭建平台 PHP+MySQL组合开发 含完整的搭建教程
  • 商品中心—16.库存分桶调配的技术文档