阅读量:1
文章目录
selenium.common.exceptions.SessionNotCreatedException: Message: session not created
异常通常发生在尝试使用 Selenium WebDriver 启动一个新的浏览器会话时,但由于某种原因,WebDriver 无法与浏览器实例建立连接或创建会话。这个问题可能由多种原因引起,以下是对该异常的详细分析、原因、解决思路和方法。
问题分析
- 版本不兼容:WebDriver(如 ChromeDriver)与浏览器版本不兼容。
- WebDriver 路径问题:WebDriver 没有被正确配置或路径没有被添加到环境变量中。
- 浏览器实例问题:浏览器实例可能已经在运行,或者由于某种原因无法被 WebDriver 正确访问。
- 安全软件干扰:防火墙、杀毒软件或其他安全软件可能阻止了 WebDriver 的正常运行。
报错原因
- WebDriver 与浏览器版本之间的不兼容性是最常见的报错原因。
解决思路
- 检查版本兼容性:确保您使用的 WebDriver 版本与您的浏览器版本兼容。
- 检查 WebDriver 路径:确保 WebDriver 的路径已正确配置,并且可以从命令行中直接调用。
- 关闭并重启浏览器:确保没有其他浏览器实例正在运行,或者 WebDriver 正在尝试连接到一个已存在的浏览器实例。
- 检查安全软件设置:如果有任何安全软件正在运行,请确保它没有阻止 WebDriver 的执行。
- 尝试不同的 WebDriver:如果可能的话,尝试使用不同版本的 WebDriver 或不同的浏览器。
解决方法
1. 检查并更新 WebDriver
- 访问浏览器的 WebDriver 下载页面(例如,对于 Chrome,访问 ChromeDriver 下载页面)。
- 下载与您的浏览器版本兼容的 WebDriver 版本。
- 将下载的 WebDriver 文件放置在您系统的适当位置(如
/usr/local/bin
或其他 PATH 路径下的目录)。
2. 配置 WebDriver 路径(Python 示例)
下滑查看解决方法
- 在 Python 代码中,使用
webdriver.Chrome()
时,确保指定了正确的 WebDriver 路径。
from selenium import webdriver # 指定 ChromeDriver 的路径(根据您的实际路径进行修改) driver_path = '/path/to/chromedriver' # 初始化 WebDriver driver = webdriver.Chrome(executable_path=driver_path) # 接下来,您可以使用 driver 对象来打开网页、执行操作等 driver.get('http://www.example.com') # ... # 完成后,关闭 WebDriver driver.quit()
3. 关闭并重启浏览器
- 在尝试再次运行 Selenium 脚本之前,确保所有浏览器实例都已关闭。
4. 检查安全软件设置
- 如果您使用的是防火墙、杀毒软件或其他安全软件,请检查其设置,确保它们没有阻止 WebDriver 的执行。
5. 尝试不同的 WebDriver 或浏览器
- 如果问题仍然存在,请尝试使用不同版本的 WebDriver 或切换到不同的浏览器(如 Firefox、Edge 等)。