当前位置: 首页 > 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.lqws.cn/news/585955.html

相关文章:

  • 【机器学习第四期(Python)】LightGBM 方法原理详解
  • Excel Report
  • Photoshop 插件 NBP Freqsep Control 2.0 安装全流程
  • C++ Programming Language —— 第4章:程序流程结构
  • 【启发式算法】Dynamic A*(D*)算法详细介绍(Python)
  • 「Java流程控制」while循环
  • 3.前端和后端参数不一致,后端接不到数据的解决方案
  • Redis 和 Mysql 如何保证数据一致性
  • [Python 基础课程]变量
  • 如何通过SSL证书配置防止源站IP泄露 - 全面防护指南
  • 源码包安装haproxy(rocky8)
  • Kafka 核心机制面试题--自问自答
  • 本地部署kafka4.0
  • PHP中的异常处理try-catch语句
  • Franka机器人赋能RoboCulture研究,打造生物实验室智能解决方案
  • 【科研绘图系列】R语言绘制世界地图分布(world map)
  • 炸鸡派-基础测试例程
  • AdGuard Home 安装及使用
  • 插入排序的简单介绍
  • 在 VS Code 中安装与配置 Gemini CLI 的完整指南
  • 第28篇:深入解析OpenEuler 24.03中的PAM认证机制:从原理到实践
  • 面向安全产品测试的静态混淆型 Shellcode Loader 设计与对抗分析
  • react经验:在nextjs中使用motion组件
  • 设计模式-访问者模式
  • PHP WebSocket服务器搭建指南
  • 深度学习03 人工神经网络ANN
  • 大数据(3)-Hive
  • iOS 应用上架踩坑实录:7 个问题 + 工具组合解决方案详解
  • STL简介+string模拟实现
  • 【Docker基础】Docker数据持久化与卷(Volume)介绍