news 2026/5/1 4:09:17

电商爬虫实战:解决Selenium SessionNotCreatedException的5种方法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
电商爬虫实战:解决Selenium SessionNotCreatedException的5种方法

快速体验

  1. 打开 InsCode(快马)平台 https://www.inscode.net
  2. 输入框内输入如下内容:
    开发一个电商价格监控爬虫,使用Selenium获取商品价格。处理可能出现的SessionNotCreatedException,包括:1)检查ChromeDriver版本与浏览器匹配 2)确保无重复浏览器进程 3)验证代理设置 4)检查防火墙限制 5)处理浏览器自动更新导致的版本冲突。提供详细的错误日志和自动恢复机制。
  3. 点击'项目生成'按钮,等待项目生成完整后预览效果

最近在开发一个电商价格监控爬虫时,遇到了一个让人头疼的问题:selenium.common.exceptions.SessionNotCreatedException: message: session not。这个错误让我抓狂了好一阵子,经过一番折腾和摸索,终于找到了几种有效的解决方法。今天就来分享一下我的实战经验,希望能帮到同样遇到这个问题的朋友。

1. 检查ChromeDriver版本与浏览器匹配

这是最常见的问题之一。ChromeDriver的版本必须与你安装的Chrome浏览器版本完全匹配。如果版本不匹配,Selenium就无法正常启动浏览器会话。

  • 首先,确认你安装的Chrome浏览器版本。可以在浏览器地址栏输入chrome://version/查看。
  • 然后,下载对应版本的ChromeDriver。可以在ChromeDriver的官方下载页面找到版本对照表。
  • 替换项目中旧版本的ChromeDriver,确保路径正确。

2. 确保无重复浏览器进程

有时,之前的浏览器进程没有完全关闭,会导致新的会话无法创建。

  • 在代码中添加清理逻辑,确保每次运行结束后关闭所有浏览器进程。
  • 在Windows上可以通过任务管理器手动结束所有Chrome相关进程。
  • 在Linux或Mac上可以使用命令行工具(如pkill)来终止进程。

3. 验证代理设置

如果你的网络环境使用了代理,可能会干扰Selenium的正常连接。

  • 检查代码中是否设置了代理,确保代理配置正确。
  • 尝试关闭代理或使用直连模式,看看问题是否解决。
  • 如果必须使用代理,确保代理服务器稳定且允许Selenium的请求通过。

4. 检查防火墙限制

防火墙或安全软件有时会阻止Selenium与浏览器的通信。

  • 临时关闭防火墙,测试是否能够正常运行。
  • 如果关闭防火墙后问题解决,可以在防火墙中添加Selenium和ChromeDriver的例外规则。
  • 确保网络策略没有限制本地回环地址(127.0.0.1)的通信。

5. 处理浏览器自动更新导致的版本冲突

Chrome浏览器会自动更新,但ChromeDriver不会自动更新,这可能导致版本不匹配。

  • 禁用Chrome的自动更新功能,或者定期检查并更新ChromeDriver。
  • 在代码中添加版本检查逻辑,如果检测到版本不匹配,自动下载正确的ChromeDriver版本。
  • 考虑使用WebDriverManager这类工具来自动管理驱动版本。

错误日志与自动恢复机制

为了更高效地排查问题,建议在代码中添加详细的错误日志记录。记录以下信息:

  • Chrome浏览器版本和ChromeDriver版本
  • 操作系统环境
  • 代理和网络配置
  • 完整的错误堆栈信息

同时,可以设计一个自动恢复机制,比如:

  1. 捕获SessionNotCreatedException异常
  2. 根据错误信息尝试上述解决方法
  3. 如果多次尝试失败,发送通知或记录错误日志

总结

遇到SessionNotCreatedException时,不要慌张,按照以上方法一步步排查,通常都能找到问题所在。最重要的是保持耐心,记录详细的日志,这样下次再遇到类似问题时就能快速解决。

如果你也在开发类似的项目,可以试试InsCode(快马)平台,它提供了一键部署功能,让你的爬虫项目快速上线。我自己用过几次,发现部署过程真的很省心,不用手动配置环境,特别适合像我这样懒得折腾的人。

希望这篇文章能帮到你,如果有其他问题,欢迎留言讨论!

快速体验

  1. 打开 InsCode(快马)平台 https://www.inscode.net
  2. 输入框内输入如下内容:
    开发一个电商价格监控爬虫,使用Selenium获取商品价格。处理可能出现的SessionNotCreatedException,包括:1)检查ChromeDriver版本与浏览器匹配 2)确保无重复浏览器进程 3)验证代理设置 4)检查防火墙限制 5)处理浏览器自动更新导致的版本冲突。提供详细的错误日志和自动恢复机制。
  3. 点击'项目生成'按钮,等待项目生成完整后预览效果

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 5:04:21

14、数字化支票簿管理:CBB使用指南

数字化支票簿管理:CBB使用指南 在管理个人财务时,平衡支票簿往往是一项繁琐的任务。不过,借助金融管理软件,我们可以简化这一过程。本文将详细介绍一款名为Check Book Balancer(简称CBB)的工具,它能帮助我们轻松管理银行账户、记录交易、核对账单,并跟踪资金流向。 1…

作者头像 李华
网站建设 2026/4/29 17:16:34

LeetCode 3562: 折扣价交易股票的最大利润 - 树形DP+背包问题详解

难度:困难 标签:动态规划、树形DP、背包问题、DFS 一、题目描述 给定一个公司的员工层级关系(树形结构),每位员工都有购买自己股票的机会: present[i]:第 i 位员工今天购买股票的价格future[i…

作者头像 李华
网站建设 2026/4/18 15:17:29

AI一键搞定:Mac安装JDK1.8的智能解决方案

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个自动化脚本,用于在Mac系统上安装JDK1.8。脚本应包含以下功能:1) 自动检测系统架构(Intel/Apple Silicon);2) 从O…

作者头像 李华
网站建设 2026/4/24 2:42:33

打造沉浸式游戏世界:Flame引擎斜45度视角深度开发实战

打造沉浸式游戏世界:Flame引擎斜45度视角深度开发实战 【免费下载链接】flame 项目地址: https://gitcode.com/gh_mirrors/fla/flame 想要为你的Flutter游戏注入立体感与深度吗?Flame引擎的斜45度视角技术能够让你轻松实现经典RPG游戏的沉浸式体…

作者头像 李华
网站建设 2026/4/26 2:19:51

LLaMA-Factory微调实战:从环境到API部署

LLaMA-Factory微调实战:从环境到API部署 在大模型应用落地日益加速的今天,一个现实问题摆在开发者面前:如何在有限算力下快速定制出具备特定领域能力的语言模型?传统微调流程动辄需要数天调试、依赖管理复杂、代码门槛高&#xf…

作者头像 李华
网站建设 2026/4/30 18:10:38

机试真题——识文断句(2025B卷:200分)Java/python/JavaScript/C++/C最佳实现

给定一些短词字符串作为分割词,去分割一段长字符串。从前往后遍历分割词,查找并分割长字符串为对应的token。分词规则如下: 1.优先匹配最长分割词:若多个分割词可匹配同一位置,选择长度最长的;长度相同时,按字典序较大的优先。 2.…

作者头像 李华