目录
1.是否chrome浏览器和chromedriver驱动的版本不一致
1.在windows搜索框搜索services.msc或者服务
3.在regedit更改Chrome注册表修改注册表以禁用更新
1.场景说明
我使用pycharm的api启动chromedriver打开chrome浏览器网页,成功启动但是闪退
浏览器 Google Chrome 103.0.5060.53
驱动 chromedriver_win32 103.0.5060.53
集成环境 Pycharm 2022.01.02
python 3.10
selenium 4.14.0
windows10
浏览器下载地址
驱动下载地址
CNPM Binaries Mirror (npmmirror.com)https://registry.npmmirror.com/binary.html?path=chromedriver/
注意:在使用chromeDriver时要确保已经关闭chromebrowser的自动更新功能
如果未关闭,可以参考文章底部内容
2.调用API代码
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
import time
# 设置你自己的chormedriver存放路径
service=Service(r"C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe")
driver = webdriver.Chrome(service=service)
driver.get("https://www.baidu.com")
正常情况之下,浏览器不会自动关闭,实际情况却是,打开浏览器后闪退了!
3.寻错
首先说明上述代码运行时并没有报错
1.是否chrome浏览器和chromedriver驱动的版本不一致
自检chrome版本
打开chrome浏览器——>点击右上角update(更多)——>Help——>点击About Google Chrome——>显示version
Checking for updates
Version 103.0.5060.53 (Official Build) (32-bit)
或者
在Chrome搜索框中输入chrome://version/
显示
Google Chrome 103.0.5060.53 (Official Build) (32-bit) (cohort: Stable)
自检chromedriver版本
首先确保chromedriver的文件保存路径已经存放在环境变量
win+R 打开cmd 输入chromedriver.exe
如图所示
chromedriver的版本为 103.0.5060.53
版本一致,下一位!
2.是否为selenium版本的问题
首先查看selenium版本
在pycharm的Terminal输入
pip show selenium
显示版本为4.14.0
或者
win+R 打开cmd 输入
pip show selenium
显示版本为4.16.0
什么情况为什么有两个版本?
知道了!我的pycharm和pythonIDE不是用的一个编译环境
所以我就把cmd打开的 (pythonIDE)删除吧!
直接
pip uninstall selenium
给我坐下!!!
继续!
卸载高版本的selenium
因为pycharm中selenium的版本为4.14.0,是不是版本太高了?
Terminal中 pip uninstall selenium
直接删除
下载低版本的selenium
然后
pip install selenium==4.1.1 -i https://pypi.douban.com/simple/
国内镜像源下载低版本的selenium
pip show selenium
ok
显示版本为4.1.1
试试!
成功了,兄弟们!都多余了!
当然还可以是其他版本,大家可以多试试。
4.后续聊聊
关闭chrome自动更新功能
我在新系统上装chrome没有关闭自动更新功能,结果导致chrome自动更新
然后我想卸载后重装,发现只有首次安装可以自定义位置,重装chrome会自动默认安装路径为C盘
所以我特地给我文章的补全一下信息(2024.5.15)
以下三种方法
1.在windows搜索框搜索services.msc或者服务
然后我们找到Google更新服务,如下图
右键Google 更新服务 (gupdate)、Google 更新服务 (gupdatem)、GoogleUpdaterService和GoogleUpdaterInternalService这四项服务全部禁用。
右键-->属性-->常规-->启动类型-->禁用
将这四项功能改为禁用,然后点击应用-->确定
2.在windows搜索框搜索任务计划程序
用第一个方法之后,我试了一下其实浏览器也不更新了,但我觉得加上第二个方法比较保险
当我们进入搜索任务计划程序
在左侧的资源视图找到GoogleUpdaterTaskSystem
右键-->禁用
3.在regedit更改Chrome注册表修改注册表以禁用更新
不建议新手使用
按 Win + R 打开运行对话框,输入 regedit,然后按 Enter。
导航到 HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Update。
如果你没有看到 Google\Update,你需要创建这些键:右键 Google 键,选择 新建 -> 项,命名为 Update。
在 Update 键中,右键点击空白区域,选择 新建 -> DWORD (32位) 值。
创建一个名为 AutoUpdateCheckPeriodMinutes 的 DWORD 值,并将数据设置为 0。
同样,创建一个名为 UpdateDefault 的 DWORD 值,并将数据设置为 0。