一文解决:selenium.common.exceptions.SessionNotCreatedException: Message: session not created

1.问题原因

你遇到的错误消息表明您正在使用的ChromeDriver的版本与您计算机上安装的Google Chrome版本不兼容。ChromeDriver是一个独立的可执行文件,WebDriver使用它来控制Chrome浏览器。要解决这个问题,您有几个可能的解决方案,具体介绍如下所示。

2.解决办法

1.修改ChromeDriver的版本

此方法需要首先查看当前Chrome浏览器的版本(打开浏览器设置,点击关于Chrome即可查看),然后到对应的ChromeDriver官网ChromeDriver驱动下载地址下载与当前Chrome浏览器一致的驱动文件,然后查询python环境中的ChromeDriver的位置(按下Win+R输入cmd,然后输入where chromedriver),最后将下载的最新版本的驱动文件与之更新即可解决问题。具体操作步骤可以参考博客修改驱动版本解决问题
在这里插入图片描述

方法评价: 我觉得此方法不太好,因为Chrome浏览器会时刻自动更新,你时刻需要根据Chrome的版本更新情况手动更新ChromeDriver的版本并替换,不能一劳永逸,这里我不推荐这种方法。

2.降级Google Chrome

如果你的ChromeD因版本太高而导致无法更新到对应版本的ChromeDriver,你可以尝试将Chrome浏览器的版本降级到与当前ChromeDriver支持的版本相匹配的版本。因此只需要卸载当前版本的Chrome,然后下载并安装与ChromeDriver对应的旧版本即可。
方法评价:这种方法仍然不推荐,因为卸载和安装Chrome本身就更比较繁琐和费时,下载后的Chrome往往默认就是最新版本,而且如果你下载安装旧版本,浏览器也会自动更新到最新Chrome版本,如果想阻止更新还需要关闭Chrome自动更新的操作,总之实现起来很繁琐和复杂,所以我不推荐。

3.使用WebDriverManager

WebDriverManager是一个库,可以根据您使用的浏览器版本自动下载适当的WebDriver可执行文件。它消除了手动管理WebDriver二进制文件的需求。您可以使用pip(Python包管理器)安装WebDriverManager,然后修改您的代码以使用WebDriverManager来处理WebDriver二进制文件。
具体实现步骤如下所示:
1.下载安装WebDriverManager模块;

pip install webdriver_manager

2.修改代码以使用WebDriverManager管理驱动

#配置参数
from selenium.webdriver import Chrome
opt = Options()
opt.add_argument("--headless")
opt.add_argument("--disbale-gpu")
web = Chrome(options=opt)

# 将上述代码修改为===>
from selenium.webdriver import Chrome
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.service import Service
# 创建一个Service对象
service = Service(ChromeDriverManager().install())
#配置参数
opt = Options()
opt.add_argument("--headless")
opt.add_argument("--disbale-gpu")
web = Chrome(service=service, options=opt)
# 即可解决问题
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

散一世繁华,颠半世琉璃

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值