Python之selenium关于Chrome驱动位置和闪退的问题

news2024/10/7 18:28:33

目录

  • 一、Chromedriver放置的位置
  • 二、浏览器闪退

一、Chromedriver放置的位置

背景:之前由于Chrome浏览器自动升级后,导致驱动与浏览器不匹配,自己也不知道问题出在哪儿,花费了我大量时间去排查,所以接下来记录一些。

使用的是selenium v 4.1.0版本

下载的Chromedriver要与浏览器的版本一样。

1、原始的常规放置的位置:

放置的位置和Python执行的文件位置要一样,这样才能够使用最新的驱动。

注意:在selenium v4.4.0以上的版本,可以不用把浏览器的驱动放在跟Python执行程序一起。

但是需要用一段代码去说明,调用函数。

2、浏览器的驱动与Python启动程序不在一个目录:

方法一:(注意这种目前在selenium v4.1.0之前的版本都可以,但是在4.4.0以后的版本不行,中间的版本还没有试过)

那么就要在代码中设置浏览器驱动的地址

  1. # 加载谷歌浏览器驱动

  2. driver = webdriver.Chrome(r'...\chromedriver.exe')  # 这个里面直接传入驱动的路径

方法二:使用内置的Service类(这个类是专门处理浏览器驱动的问题)

二、浏览器闪退

在解决完第一个问题后,我们会发现在执行代码后selenium打开完浏览器后会直接闪退。这确实是正常现象,因为你安装的是最新的selenium4版本,他对浏览器执行完操作后会自动关闭浏览器

from selenium.webdriver.chrome.service import Service
from selenium import webdriver
import time
 
# url地址
url = 'http://www.baidu.com'
 
# 定义chrome驱动去地址
path =  Service('chromedriver.exe')
 
# 创建浏览器操作对象
browser = webdriver.Chrome(service=path)
 
# 这里我们给哥time等待,假设我们在这段时间内进行的操作
time.sleep(3)
 
# 获取前端页面
browser.get(url)
 
 
#输出前端代码中的title字段内容
print(browser.title)

这时就看起来正常点了

 其实遇到上面的报错只是看着不舒服,代码还是能跑的。 

网上其他博主的解释:

1、经过排查发现,之前电脑的selenium版本是4.1.1,运行不会自动退出;升级到selenium最新版本4.7.2后,会出现这个问题。
于是将selenium版本回退到4.1.1,成功解决。

2、浏览器与浏览器的驱动版本不匹配。

有个解决方式不知道行不行(先记录):

当使用Selenium WebDriver 加载页面时出现浏览器闪退时,如何解决? - 小智博客

对应浏览器闪退的问题,博主的链接:
python运行selenium时浏览器闪退情况:_selenium 浏览器自动退出_颓废猫的博客-CSDN博客python运行selenium时浏览器闪退问题:**出现原因:**代码如果没问题的话,那就是谷歌浏览器自动更新升级了,Chrome驱动文件版本低了,**解决办法:**重新查看自己浏览器的版本,下载对应的驱动文件。浏览器驱动下载地址:https://npm.taobao.org/mirrors/c...https://blog.csdn.net/weixin_45466049/article/details/105787687?ops_request_misc=&request_id=&biz_id=102&utm_term=selenium%E9%97%AA%E9%80%80&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-1-105787687.142%5Ev7%5Epc_search_result_control_group,157%5Ev4%5Econtrol&spm=1018.2226.3001.4187


chrome更新后,再次使用selenium打开chrome却发现闪退了?全网最详细教程,肯定能帮到你!_chromedrvier 闪退报错_此杭非彼航的博客-CSDN博客文章目录问题描述解决方案问题描述我的chrome一直提示我要更新,我嫌它一直提示很烦人,就更新了。不更新不要紧,更新后我发现我的selenium打开chrome时开始闪退,这是之前没有的情况,我估计肯定是和版本有关解决方案首先,和网上大多数教程说的一样,我们要去下载一个和chrome版本对应的chromedriver...https://blog.csdn.net/ljhsq/article/details/117201292?ops_request_misc=&request_id=&biz_id=102&utm_term=selenium%E9%97%AA%E9%80%80&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-6-117201292.142%5Ev7%5Epc_search_result_control_group,157%5Ev4%5Econtrol&spm=1018.2226.3001.4187

selenium 程序执行完之后,闪退的解决方法_selenium闪退_Candy1120628的博客-CSDN博客情况1:chrome浏览器不会自动关闭from selenium import webdriverdr=webdriver.Chrome()dr.get('http://xxxxxxxx')情况2:chrome浏览器会自动关闭from selenium import webdriverdef driver():dr=webdriver.Chrome()dr.get('http://xxxxxxxx')if __name__ == '__main__':drivehttps://blog.csdn.net/u012620887/article/details/107536170?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164983411316780271573710%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=164983411316780271573710&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-2-107536170.142%5Ev7%5Epc_search_result_control_group,157%5Ev4%5Econtrol&utm_term=selenium%E9%97%AA%E9%80%80&spm=1018.2226.3001.4187

参考优秀的博主:

解决selenium打开浏览器自动退出_selenium打开浏览器闪退_AutomationT的博客-CSDN博客

分析解释selenium:DeprecationWarning: executable_path has been deprecated, please pass in 和打开浏览器闪退问题_IT.cat的博客-CSDN博客


总结:

后续继续补充其他

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

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

相关文章

Linux ps -A 和 ps -ef

Linux ps (英文全拼:process status)命令用于显示当前进程的状态,类似于 windows 的任务管理器 ps -A | grep xx 显示xx所有的进程 ps -ef | grep xx 显示xx在一个终端的所有进程 注意这里ef 其实可以拆开理解 e 是显示所有进…

oracle报错ORA-12514

问题:oracle使用服务名orcl登录不成功,并且报错 ORA-12514, TNS:listener does not currently know of service requested in conn原因分析: ORA-12514 错误通常表示 Oracle 数据库监听器无法识别客户端请求的服务名称。这可能是由于以下原因…

什么是ERP、APS和MES

01 先来说说ERP与MES的区别 ERP:企业资源计划 一天中午,丈夫在外给家里打电话:“亲爱的老婆,晚上想带几个同事回家吃饭可以吗?”(订货意向) 丈夫:“6个人,我们7点左右回…

【计算机视觉】如何利用 CLIP 做简单的人脸任务?(含源代码)

文章目录 一、数据集介绍二、源代码 结果三、代码逐行解读 一、数据集介绍 CELEBA 数据集(CelebFaces Attributes Dataset)是一个大规模的人脸图像数据集,旨在用于训练和评估人脸相关的计算机视觉模型。该数据集由众多名人的脸部图像组成&a…

【MySQL】MySQL索引--聚簇索引和非聚簇索引的区别

文章目录 前言1.聚簇索引和非聚簇索引的概念2.两者详细介绍2.1 聚簇索引2.2 非聚簇索引 3. 两者的区别3.1 数据存储方式3.2 二级索引查询 前言 1.聚簇索引和非聚簇索引的概念 数据库表的索引从数据存储方式上可以分为聚簇索引和非聚簇索引两种。“聚簇”的意思是数据行被按照…

【Java|golang】1072. 按列翻转得到最大值等行数

给定 m x n 矩阵 matrix 。 你可以从中选出任意数量的列并翻转其上的 每个 单元格。(即翻转后,单元格的值从 0 变成 1,或者从 1 变为 0 。) 返回 经过一些翻转后,行与行之间所有值都相等的最大行数 。 示例 1&#…

使用TensorFlow构建,绘制和解释人工神经网络

使用 Python 进行深度学习:神经网络(完整教程) 使用TensorFlow构建,绘制和解释人工神经网络 总结 在本文中,我将展示如何使用Python构建神经网络,以及如何使用可视化和创建模型预测解释器向业务解释深度学习…

【PCIE】pcie设备协议分析和crash后定位

分析RP Headerlog在协议中位置 能力集寄存器协议字段 HeaderLog字段偏移以及各字段含义 headerLog和协议的对应入截图中内容 completer id就是完成的ID,对应的BDF ,如下图 b5:00.0 AECap寄存器 其中 first error pointer 含义: 这里有专…

对于 Git 每一次提交的时间信息,什么是作者日期和提交者日期

文章目录 什么是作者日期和提交者日期如何查看作者日期和提交者日期方法 1方法 2方法 3 修改最近一次提交的时间 什么是作者日期和提交者日期 对于 Git 的每一次提交,在 TortoiseGit 和 IntelliJ IDEA 都可以看到这次提交的时间。但很多人不知道的是,Gi…

人脸识别2:Python实现人脸识别Face Recognition(含源码)

人脸识别2:Python实现人脸识别Face Recognition(含源码) 目录 人脸识别2:Python实现人脸识别Face Recognition(含源码) 1. 前言 2. 项目安装 3. 人脸识别系统 (1)人脸检测和关键点检测 (2)人脸校准 …

【数据结构与算法】布隆(Bloom Filter)过滤器

文章目录 1、什么是布隆过滤器2、布隆过滤器的使用场景3、布隆过滤器的原理3.1 数据结构3.2 空间计算3.3 增加元素3.4 查询元素3.5 修改元素3.6 删除元素 4、Redis集成布隆过滤器4.1 版本要求4.2 安装&编译4.2.1 下载插件压缩包4.2.2 解压4.2.3 编译插件 4.3 Redis集成4.3.…

《硅谷钢铁侠:埃隆·马斯克的冒险人生》成就21世纪的史诗

《硅谷钢铁侠:埃隆马斯克的冒险人生》成就21世纪的史诗 阿什利万斯(Ashlee Vance):美国商业专栏作家、资深科技记者。 文章目录 《硅谷钢铁侠:埃隆马斯克的冒险人生》成就21世纪的史诗马斯克的超级公司摘录感悟梦 马斯…

免费SSL:阿里云SSL证书免费申请入口及流程开启HTTPS

阿里云SSL免费证书在哪申请?一个阿里云账号一年可以申请20张免费SSL证书,很多同学找不到免费SSL的入口,阿小云来详细说下阿里云SSL证书免费申请入口链接以及免费SSL证书申请流程,有同学反馈阿里云免费SSL证书没有了?错…

【Python共享文件】——Python快速搭建HTTP web服务实现文件共享并公网远程访问

文章目录 1. 前言2. 视频教程3. 本地文件服务器搭建3.1 python的安装和设置3.2 cpolar的安装和注册 4. 本地文件服务器的发布4.1 Cpolar云端设置4.2 Cpolar本地设置 5. 公网访问测试6. 结语 1. 前言 数据共享作为和连接作为互联网的基础应用,不仅在商业和办公场景有…

[离散数学]图论

图基本概念 点相同 边相同 $$ 有向图 无向图 邻接点 :两个结点有一条有(无)向边相关联 邻接边:关联与同一个结点 孤立结点: 不予任何结点相邻接的结点 握手定理 度数边的两倍 有向图的 出度和入度和边数 n个节点无向完全图边数 C n 2 1 2 n ( n − 1 ) C_n^2…

14JS05——流程控制-分支

目标: 1、流程控制 2、顺序流程控制 3、分支流程控制if语句 4、三元表达式 5、分支流程控制switch语句 一、流程控制 在一个程序执行的过程中,各条代码的执行顺序对程序的结果是有直接影响的。很多时候我们要通过控制代码 的执行顺序来实现我们要完成的…

Science | 人体可以依靠饥饿感来延缓衰老

作为一种高级动物,人体需要六种营养物质来维持基本的生理需求:糖类、油脂、蛋白质、无机盐、水、和维生素。对营养物质的生理需求促使人和动物去追寻食物。而饮食对人和动物的行为和寿命又有着显著影响。 近年来,越来越多的研究表明&#xf…

计算机网络 二 (物理层)

物理层 概念 物理层为数据链路层屏蔽了各种传输媒体的差异,使数据链路层只需要考虑如何完成本层的协议和服务,而不必考虑网络具体的传输媒体是什么。 对于物理层有很多很多的协议,不过都不怎么重要,对于物理层我们知道物理层协议…

国产仪器仪表 1466C-V/1466D-V/1466E-V/1466G-V/1466H-V/1466L-V系列信号发生器

国产Ceyear 1466-V系列信号发生器是一款面向微波毫米波尖端测试的通用测试仪器,频率范围覆盖宽、射频调制带宽大、信号频谱纯度高,具有高准确度和大动态范围的功率输出,以及出色的矢量调制精度和ACPR性能,搭配单机双射频通道和多机…

21天学会Linux----Day1:Linux环境搭建

CSDN的uu们,大家好。这里是Linux的第一讲。 座右铭:前路坎坷,披荆斩棘,扶摇直上。 博客主页: 姬如祎 收录专栏:Linux保姆级教程 目录 1. Linux环境搭建的三种方式 2. 阿里云学生认证白嫖七个月云服务器…