Python之selenium关于Chrome驱动位置,闪退的问题和安装路径
目录
- 零、查看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以后的版本不行,中间的版本还没有试过)
那么就要在代码中设置浏览器驱动的地址
-
# 加载谷歌浏览器驱动
-
driver = webdriver.Chrome(r'...\chromedriver.exe') # 这个里面直接传入驱动的路径
方法二:使用内置的Service类(这个类是专门处理浏览器驱动的问题)
二、浏览器闪退
在解决完第一个问题后,我们会发现在执行代码后selenium打开完浏览器后会直接闪退。这确实是正常现象,因为你安装的是最新的selenium4版本,他对浏览器执行完操作后会自动关闭浏览器
from selenium.webdriver.chrome.service import Servicefrom selenium import webdriverimport 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)
这时就看起来正常点了
其实遇到上面的报错只是看着不舒服,代码还是能跑的。
网上其他博主的解释:
经过排查发现,之前电脑的selenium版本是4.1.1,运行不会自动退出;升级到selenium最新版本4.7.2后,会出现这个问题。
于是将selenium版本回退到4.1.1,成功解决。
浏览器与浏览器的驱动版本不匹配。
有个解决方式不知道行不行(先记录):
当使用Selenium WebDriver 加载页面时出现浏览器闪退时,如何解决? - 小智博客
参考优秀的博主:
解决selenium打开浏览器自动退出_selenium打开浏览器闪退_AutomationT的博客-CSDN博客
总结:
后续继续补充其他
来源地址:https://blog.csdn.net/weixin_45272371/article/details/130684601
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341