首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【Java报错已解决】 selenium.common.exceptions.SessionNotCreatedException: Message: session not created

【Java报错已解决】 selenium.common.exceptions.SessionNotCreatedException: Message: session not created

作者头像
鸽芷咕
发布2025-05-26 19:59:11
发布2025-05-26 19:59:11
3680
举报
文章被收录于专栏:C++干货基地C++干货基地

⛺️生活的理想,就是为了理想的生活!


  • 博主简介

博主致力于嵌入式、Python、人工智能、C/C++领域和各种前沿技术的优质博客分享,用最优质的内容带来最舒适的阅读体验!在博客领域获得 C/C++领域优质、CSDN年度征文第一、掘金2023年人气作者、华为云享专家、支付宝开放社区优质博主等头衔。

介绍

加入链接

个人社群

社群内包含各个方向的开发者,有多年开发经验的大佬,一起监督打卡的创作者,开发者、在校生、考研党、均可加入并且咱每周都会有粉丝福利放送保你有所收获,一起 加入我们 共同进步吧!

个人社区

点击即可加入 【咕咕社区】 ,让我们一起共创社区内容,输出优质文章来让你的写作能力更近一步一起加油!

⛳️ 推荐

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。

专栏介绍

专栏名称

专栏介绍

科技杂谈

本专栏主要撰写各种科技数码等的评测体验心得,带大家一起体验最前沿的科技机技术产品体验

C++干货基地

本专栏主要撰写C++干货内容和编程技巧,让大家从底层了解C++,把更多的知识由抽象到简单通俗易懂。

《数据结构&算法》

本专栏主要是注重从底层来给大家一步步剖析数据存储的奥秘,一起解密数据在存储中数据的基本存储结构!

《docker容器精解篇》

全面深入解析 docker 容器,从基础到进阶,涵盖原理、操作、实践案例,助您精通 docker。

《linux深造日志》

本专栏的标题灵感是来自linux中系统产生的系统日志。而我们也可以每天输出内容不断前进,以达到精深的境地。

《C语言进阶篇》

想成为编程高手嘛?来看看《C语言进阶篇》成为编程高手的必学知识,带你一步步认识C语言最核心最底层原理。

写作技巧

写作涨粉太慢?不知道如何写博客?想成为一名优质的博主那么这篇专栏你一定要去了解

引言

在Java开发中,使用Selenium进行自动化测试等相关操作时,你是否曾遇到过令人头疼的报错问题?其中,selenium.common.exceptions.SessionNotCreatedException: Message: session not created这个报错可能会让不少开发者和环境配置者陷入困惑。今天,我们就来深入探讨一下这个报错的原因和解决方案,帮助大家轻松应对。

一、问题描述

1.1 报错示例

以下是一段可能引发此报错的Java代码示例:

代码语言:javascript
复制
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import java.util.concurrent.TimeUnit;

public class Main {
    public static void main(String[] args) {
        System.setProperty("webdriver.chrome.driver", "path/to/chromedriver");
        ChromeOptions options = new ChromeOptions();
        // 这里可以添加一些特定的配置选项
        WebDriver driver = new ChromeDriver(options);
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        driver.get("https://www.example.com");
    }
}

当运行这段代码时,可能会出现selenium.common.exceptions.SessionNotCreatedException: Message: session not created的报错。

1.2 报错分析

  • 驱动版本不匹配:最常见的原因之一是Chrome浏览器版本和ChromeDriver版本不匹配。如果Chrome浏览器已经更新,而ChromeDriver没有更新到与之兼容的版本,就可能导致无法创建会话。例如,Chrome 110可能需要特定版本范围的ChromeDriver,如果使用了旧版本的ChromeDriver,就会报错。
  • 缺少必要依赖或配置错误:系统环境变量配置可能有问题,比如webdriver.chrome.driver设置的路径不正确,或者缺少相关的依赖库。另外,如果在ChromeOptions中设置了一些不合法或不被支持的参数,也可能导致会话创建失败。
  • 浏览器安全设置或干扰因素:某些安全软件可能会阻止ChromeDriver与Chrome浏览器之间的通信,或者浏览器自身的安全设置限制了外部程序创建会话的权限。

1.3 解决思路

  • 首先,检查Chrome浏览器和ChromeDriver的版本兼容性,确保两者匹配。
  • 确认系统环境变量中webdriver.chrome.driver的路径设置正确,并且相关依赖完整。
  • 检查ChromeOptions中的配置参数是否合法和合适。
  • 排查是否有安全软件或浏览器安全设置的干扰。

二、解决方法

2.1 方法一:更新ChromeDriver版本

  • 确定当前使用的Chrome浏览器版本。可以通过在Chrome浏览器的“帮助”菜单中选择“关于Google Chrome”来查看版本号。
  • 访问ChromeDriver的官方下载页面(https://sites.google.com/a/chromium.org/chromedriver/downloads),下载与Chrome浏览器版本匹配的ChromeDriver版本。
  • 将下载的ChromeDriver文件放置在合适的位置,并更新代码中System.setProperty("webdriver.chrome.driver", "path/to/chromedriver");的路径。

2.2 方法二:检查和修复环境变量

  • 仔细检查webdriver.chrome.driver环境变量设置的路径。可以在终端或命令提示符中使用echo %webdriver.chrome.driver%(Windows)或echo $webdriver.chrome.driver(Linux、Mac)来查看当前设置的值。
  • 如果路径错误,重新设置正确的路径。例如,在Windows中,可以通过系统属性的“高级”选项卡中的“环境变量”来编辑。在代码中,确保路径指向正确的ChromeDriver可执行文件。

2.3 方法三:检查ChromeOptions

  • 查看ChromeOptions中的配置参数。如果设置了一些实验性或不常用的参数,尝试逐个注释掉这些参数,然后重新运行代码,看是否还会报错。例如,如果设置了options.addArguments("--headless");,可以先注释掉这一行,检查是否是这个参数导致的问题。
  • 确保ChromeOptions中的参数符合ChromeDriver和Chrome浏览器的要求。如果不确定某些参数的合法性,可以查阅相关文档。

2.4 方法四:排查安全软件和浏览器安全设置

  • 暂时关闭可能会干扰ChromeDriver与Chrome浏览器通信的安全软件,如杀毒软件、防火墙等,然后重新运行代码。如果关闭安全软件后问题解决,需要在安全软件中添加相应的例外规则。
  • 检查Chrome浏览器的安全设置。在Chrome浏览器的设置中,查看“隐私与安全”相关选项,确保没有限制外部程序访问的设置。例如,确保没有阻止第三方Cookie或限制自动化软件的运行。

三、其他解决方法

  • 检查系统更新:有时候,操作系统的某些更新可能会影响ChromeDriver和Chrome浏览器之间的交互。确保操作系统是最新的,并且安装了所有必要的更新补丁。
  • 尝试不同的浏览器配置文件:如果是在多用户或多配置文件环境下使用Chrome浏览器,可以尝试使用不同的配置文件来启动ChromeDriver。在ChromeOptions中,可以指定不同的用户数据目录来实现这一点。例如:options.addArguments("user-data-dir=/path/to/user/profile");

四 总结

本文详细讨论了selenium.common.exceptions.SessionNotCreatedException: Message: session not created报错的原因和解决方法。主要原因包括Chrome浏览器和ChromeDriver版本不匹配、环境变量设置错误、ChromeOptions参数问题以及安全软件或浏览器安全设置的干扰等。解决方法涵盖了更新ChromeDriver版本、修复环境变量、检查ChromeOptions参数、排查安全问题等多个方面,同时还介绍了一些其他的相关解决方法。当下次遇到这类报错时,开发者和环境配置者可以按照上述步骤逐步排查和解决问题,先从版本匹配和环境变量入手,再检查配置参数和安全相关因素,从而高效地解决问题,继续顺利地进行Java与Selenium相关的开发工作。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-11-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ⛳️ 推荐
  • 专栏介绍
  • 引言
  • 一、问题描述
    • 1.1 报错示例
    • 1.2 报错分析
    • 1.3 解决思路
  • 二、解决方法
    • 2.1 方法一:更新ChromeDriver版本
    • 2.2 方法二:检查和修复环境变量
    • 2.3 方法三:检查ChromeOptions
    • 2.4 方法四:排查安全软件和浏览器安全设置
  • 三、其他解决方法
  • 四 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档