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

对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.xdnf.cn/news/14731.html

相关文章:

  • 华为云Flexus+DeepSeek征文 | Word办公软件接入华为云ModelArts Studio大模型,实现AI智能办公
  • 设计模式-访问者模式
  • TCPView v4.19 网络检测和拦截工具——东方仙盟
  • 《Effective Python》第十一章 性能——使用 timeit 微基准测试优化性能关键代码
  • xilinx axi datamover IP使用demo
  • HarmonyOS NEXT仓颉开发语言实战案例:电影App
  • Hive SQL 实战:电商销售数据分析全流程案例
  • 【期末分布式】分布式的期末考试资料大题整理
  • PCB工艺学习与总结-20250628
  • 推荐几本关于网络安全的书
  • Linux中《动/静态库原理》
  • python sklearn 机器学习(1)
  • Web应用开发 --- Tips
  • Windows 环境下设置 RabbitMQ 的 consumer_timeout 参数
  • 现代 JavaScript (ES6+) 入门到实战(三):字符串与对象的魔法升级—模板字符串/结构赋值/展开运算符
  • 华为云Flexus+DeepSeek征文 | 二次开发学习顾问系统对接华为云ModelArts Studio 实现智能答疑学习辅导
  • 设计模式之适配器模式
  • Unity Catalog 三大升级:Data+AI 时代的统一治理再进化
  • Leetcode 3598. Longest Common Prefix Between Adjacent Strings After Removals
  • JDK自带的HttpClient,替代Apache的更优解?
  • Spring Cloud:分布式事务管理与数据一致性解决方案
  • 【如何实现分布式压测中间件】
  • 【算法设计与分析】(二)什么是递归,以及分治法的基本思想
  • 【word】把参考文献序号统一换为上标
  • github上传代码步骤(http)
  • Redis--黑马点评--消息队列
  • 基于 SpringBoot 实现一个 JAVA 代理 HTTP / WS
  • 电压跟随器输入电压正常、输出电压等于0V?
  • WebRTC(十三):信令服务器
  • python动漫周边电商网站系统