有没有人知道这个是为什么,我的selenium模块必须使用selenium.webdriver.edge.service.Service对象来手动指定驱动路径,而且这个路径必须是C:\Windows\System32\目录下的edge驱动才能正常运行,不然就会报错(即便是指定了相同的驱动文件但在其他路径下的也会报错,不指定也会报错)“selenium.common.exceptions.SessionNotCreatedException: Message: session not created: probably user data directory is already in use, please specify a unique value for --user-data-dir argument, or don't use --user-data-dir
”(我没有指定用户目录)现在的情况就是必须得手动指定System32目录下的edge驱动才能使用selenium,不然就不能运行,更换了python环境使用最新版本的selenium也是同样问题,请问有没有人知道原因的
selenium报错“session not created: probably user data directory is already in use”
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
4条回答 默认 最新
阿里嘎多学长 2025-05-03 22:58关注阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程
解决方案
selenium报错“session not created: probably user data directory is already in use”是因为 Selenium 在启动 Edge 浏览器时,尝试使用默认的用户数据目录,但是这个目录已经被其他进程占用了。解决方案是:
- 使用
selenium.webdriver.edge.service.Service对象手动指定驱动路径,像你所做的那样。 - 在指定的驱动路径下创建一个新的用户数据目录,例如
C:\Windows\edge-profile,然后在Service对象中指定这个目录。
代码示例:
from selenium import webdriver from selenium.webdriver.edge.service import Service # 指定 Edge 驱动路径 edge_driver_path = 'C:\Windows\edge.exe' # 指定用户数据目录 profile_dir = 'C:\Windows\edge-profile' # 创建 Service 对象 service = Service(edge_driver_path, service_args=['--user-data-dir', profile_dir]) # 创建 Edge 浏览器对象 driver = webdriver.Edge(service=service) # 使用 driver 对象 driver.get('https://www.baidu.com')这样,Selenium 就会使用指定的用户数据目录,而不是默认的目录,从而解决报错问题。
解决 无用评论 打赏 举报- 使用