Python之selenium关于Chrome驱动位置,闪退的问题和安装路径

news2025/2/23 19:15:31

目录

  • 零、查看Python的安装路径
  • 一、Chromedriver放置的位置
  • 二、浏览器闪退

零、查看Python的安装路径

 

一、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/542129.html

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

相关文章

hadoop和spark配置问题记录

hadoop和spark配置问题记录 Spark的WebUI访问不了 直接启动的start-all.sh是环境变量中配置的hadoop的脚本,不是spark的,因此启动spark的start-all.sh脚本即可。 Spark看不到Worker信息 启动Spark在UI界面上看不到worker节点的信息_潇洒哥WH3的博客-C…

【Java|基础篇】包和访问权限修饰符

文章目录 1. 前言2. 包的概念3. 包的创建以及优点4. 访问权限修饰符5. 总结 1. 前言 包和访问权限修饰符是Java中两个常用的概念,它们都与访问控制有关. 2. 包的概念 在面向对象体系中,提出了一个软件包的概念,即:为了更好的管…

代码随想录算法训练营第四十四天 | 完全背包、完全背包的遍历顺序

完全背包 理论基础 文档讲解:代码随想录 (programmercarl.com) 视频讲解:带你学透完全背包问题! 和 01背包有什么差别?遍历顺序上有什么讲究?_哔哩哔哩_bilibili 完全背包和01背包问题唯一不同的地方就是,每…

品牌战略规划:如何让你的品牌脱颖而出

虽然很多国内企业家都非常重视战略,什么商业战略、渠道战略之类的一通研究,但惟独却缺乏对品牌战略的一个正确理解。 很多时候一把手不参与,也不关心品牌建设,经常上来就让团队实操动作,而自己只看最终结果&#xff0…

LeetCode20.有效的括号

题目 思路 每一个右括号应该与与在它左边最近的左括号相匹配,所以这道题可以通过栈实现 代码 💬由于博主还没有学习到C,能力有限,所以只能自己实现一个栈,学过C的朋友可以直接使用CSTL中的栈来实现 #define _CRT_S…

深入理解事务的隔离性 —— 多版本并发控制( MVCC )

文章目录 一、数据库并发的三种场景二、多版本并发控制(MVCC)的初步认识三、事务的隐藏列字段四、UNDO 日志五、Read View 读视图六、深入理解 MVCC —— 隔离级别的实现原理七、RC 与 RR 的本质区别 一、数据库并发的三种场景 数据库并发指的是多个用户…

如何将Shapefile文件导入Sketch Up进行建模

涉及软件:ArcGIS10.4.1,Sketch Up Pro2022 1.shapefile的属性编辑 基于我们已有的shp文件,打开属性表,添加一个高度字段用于存放平面图形高度信息,为后期三维拉伸做好准备(如果已有相关信息,请…

区间合并【pair、sort】

将有交集(包括端点)的区间进行合并 802. 区间和 - AcWing题库 例如,现在有这样一个数据 1 2 2 4 5 6 7 8 7 9最终合并的结果就是 1 —— 45 —— 67 —— 9 得到三个区间 第一步:按照区间左端点排序 第二步:扫描…

【C++初阶】:模板初阶

模板初阶 一.函数模板1.简单使用2.模板原理3.函数模板的实例化4.模板参数的匹配原则 二.类模板1.基本格式2.类模板实例化 一.函数模板 1.简单使用 函数模板代表了一个函数家族,该函数模板与类型无关,在使用时被参数化,根据实参类型产生函数的…

【OJ比赛日历】快周末了,不来一场比赛吗? #05.20-05.26 #10场

CompHub[1] 实时聚合多平台的数据类(Kaggle、天池…)和OJ类(Leetcode、牛客…)比赛。本账号会推送最新的比赛消息,欢迎关注! 以下信息仅供参考,以比赛官网为准 目录 2023-05-20(周六) #4场比赛2023-05-21…

关于Compilation failed: internal java compiler error的解决方法(Idea)

**idea编译项目时出现java: Compilation failed: internal java compiler error java:编译失败:内部java编译器错误 根本原因基本上有两个,一个jdk版本问题,一个堆栈不足问题,我这次就是堆栈不足导致的; 1、项目过大…

IDOIEO盘点,包括PoseiSwap等即将面向市场的潜力打新活动

本月即将推出几个值得关注的打新活动一览: 项目名:PoseiSwap 官网:poseiswap.xyz PoseiSwap 是 Nautilus Chain 上的首个 DEX, Nautilus Chain 作为目前行业内第一个并行化且运行速度最快EVM Rollup的L3扩容方案,其将…

如何反转ggplot2中的图例键顺序

动动发财的小手,点个赞吧! 在本教程[1]中,我们将学习如何反转 ggplot2 中图例键的顺序。 在 ggplot2 中,当我们在 aes() 中使用颜色或填充参数为变量着色时,我们会得到一个带有键的图例,显示哪些键匹配哪些…

蓝奏云直链解析

[玫瑰]蓝奏云直链获取在线解析网站源码 蓝奏云链接解析 本地API接口 [玫瑰]支持有无密码和短期直链和永久直链,同时还可以显示文件名和大小。 [玫瑰]这个解析器无需数据库即可搭建,API接口已经本地化,非常简单易用。 [玫瑰]解压密码 123321 链…

zotero-style 摸索

打开zotero-编辑-首选项-style 可以看到图中所示的function界面 标签 刚安装好的时候原来自带的标签都不显示了,重启也没用,原来是不要勾选function下的title就好了 还有一种解决方法是,同时勾选title和tag,然后在标题栏右键&am…

【数据结构】堆(Heap)

文章目录 前言一、堆1、 概念2、性质3、结构 二、堆的实现1、算法实现:向下调整算法向上调整算法(堆的创建)堆的插入堆的删除堆的排序 2、 代码实现(小堆):堆的定义交换检查容量向下调整向上调整堆的初始化堆的创建销毁堆堆的插入堆的删除获取堆顶元素判…

Linux下C/C++实现DNS查询(DNS QUERY)

DNS 的全称是 Domain Name System 或者 Domain Name Service,它主要的作用就是将人们所熟悉的网址 (域名) “翻译”成电脑可以理解的 IP 地址,这个过程叫做 DNS 域名解析。域名是由一串用点分隔的名字组成的 Internet 上某一台计算机或计算机组的名称&am…

Linux维护安全-PHP安全-php高危函数禁用-php必需禁用的最高危函数总结-必禁

Linux维护安全-PHP安全-php高危函数禁用-php必需禁用的最高危函数总结,优雅草松鼠蜻蜓系统安装必须开启proc_open,putenv,但是希望大家在安装完成后一定要禁用。 必须禁用的高危函数: system,exec,passthru,shell_exec,popen,proc_open,pute…

国考省考行测:数量关系,十字交叉法,增长率反应去年的量,浓度反应的是浓液,平均反应的是人数

国考省考行测:十字交叉法 2022找工作是学历、能力和运气的超强结合体! 公务员特招重点就是专业技能,附带行测和申论,而常规国考省考最重要的还是申论和行测,所以大家认真准备吧,我讲一起屡屡申论和行测的重要知识点 遇…

3网络互联-3.5【实验】【计算机网络】

3网络互联-3.5【实验】【计算机网络】 前言推荐3网络互联3.4 IP分组转发与静态路由3.5 动态路由配置及RIP协议分析实验目的实验内容及实验环境实验原理1. RIP协议2.RIP分组格式3.RIP协议工作原理 实验过程1.搭建一个多跳网络拓扑,配置RIP协议参数2&#…