Chrome无法访问此网站 ,blog.csdn.net意外终止了连接

这两天使用Chrome浏览器总是出现下面这种情况 ,去网上看了许多的帖子,也没有解决问题。

在这里插入图片描述
  最后 ,我将Chrome 浏览器中的 cookie都删除了, 发现浏览器又可以正常使用了
操作如下

  • 【注 :Cookie清除后,原来账号自动登录的平台,现在需要将账号再重新登陆一次。】
    在这里插入图片描述
    在这里插入图片描述
from selenium import webdriver from selenium.webdriver.chrome.service import Service as ChromeService from selenium.webdriver.common.by import By import time options = webdriver.ChromeOptions() # 设置远程调试端口号为9222 options.add_argument("--remote-debugging-port=9222") # 必须与debuggerAddress端口一致 options.debugger_address = "127.0.0.1:9222" # 显式指定连接地址 options.add_argument("--user-data-dir=C:/Users/fzh13/Desktop/selenium/cookie") options.add_argument('--start-maximized') service = webdriver.ChromeService(executable_path='chromedriver.exe') driver = webdriver.Chrome(service=service, options=options) try: # 打开目标网站 driver.get("https://www.csdn.net/") # 等待页面加载完成 time.sleep(5) finally: pass 运行后报错:Traceback (most recent call last): File "C:\Users\fzh13\Desktop\selenium\test.py", line 18, in <module> driver = webdriver.Chrome(service=service, options=options) File "D:\DeepLearning\anaconda\envs\chatelink\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 45, in __init__ super().__init__( File "D:\DeepLearning\anaconda\envs\chatelink\lib\site-packages\selenium\webdriver\chromium\webdriver.py", line 66, in __init__ super().__init__(command_executor=executor, options=options) File "D:\DeepLearning\anaconda\envs\chatelink\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 241, in __init__ self.start_session(capabilities) File "D:\DeepLearning\anaconda\envs\chatelink\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 329, in start_session response = self.execute(Command.NEW_SESSION, caps)["value"] File "D:\DeepLearning\anaconda\envs\chatelink\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 384, in execute self.error_handler.check_response(response) File "D:\DeepLearning\anaconda\envs\chatelink\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 232, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.SessionN
03-17
<think>好的,我现在需要解决用户在Selenium中启动Chrome浏览器时遇到的SessionNotCreatedException问题,特别是与debugger_address和remote_debugging_port相关的部分。首先,我得回想一下这个错误的常见原因。通常,SessionNotCreatedException表明浏览器驱动与浏览器版本不兼容,或者配置参数有误。用户提到了使用debugger_address,这可能涉及复用浏览器或远程调试的情况。 根据用户提供的引用内容[^1]和[^2],正确的做法是通过ChromeOptions设置debugger_address来连接已存在的调试端口。不过,用户遇到了异常,可能的问题包括端口未正确启动、地址格式错误,或者版本不兼容。我需要一步步分析可能的原因和解决方案。 首先,检查ChromeDriver和Chrome浏览器的版本是否匹配。如果版本不兼容,肯定会引发异常。用户需要确保两者版本一致,可以通过官方网站下载对应的版本。 其次,确认是否正确启动了Chrome的远程调试端口。用户可能没有先启动Chrome实例,或者端口被占用。正确的命令应该是chrome --remote-debugging-port=9222,但需要确保该端口没有被其他程序占用,且Chrome实例确实在运行。 然后,检查代码中的debugger_address设置是否正确。引用[^2]提到格式应为"localhost:9222",但有时候可能需要使用IP地址加端口,比如"127.0.0.1:9222"。此外,是否同时设置了debugger_address和remote_debugging_port导致冲突?因为这两者可能不需要同时设置,如果已经通过命令行启动了调试端口,代码中只需设置debugger_address即可。 另外,用户可能在尝试复用浏览器时没有正确关闭之前的实例,导致端口被占用。需要确保每次测试前所有Chrome进程都已终止,或者使用不同的端口。 还有一种可能是Selenium的ChromeOptions参数设置错误,比如拼写错误或参数位置不正确。需要检查代码中的选项是否正确添加到了webdriver.Chrome的初始化中。 最后,如果问题依旧存在,可能需要查看完整的错误日志,以获取更多线索,比如具体的错误信息或堆栈跟踪,这有助于进一步诊断问题。 总结可能的解决步骤:检查版本兼容性,正确启动Chrome调试端口,确保端口未被占用,正确设置debugger_address,避免参数冲突,并检查代码中的选项配置。此外,提供相关问题的扩展,帮助用户深入理解调试配置和异常处理。</think>### 分步解答:解决Selenium中SessionNotCreatedException的调试配置问题 #### 1. **验证浏览器与驱动版本兼容性** - **问题原因**:Chrome浏览器版本与ChromeDriver不匹配是此异常的常见原因。 - **解决方案**: 1. 访问[ChromeDriver官网](https://sites.google.com/chromium.org/driver/)下载与本地Chrome版本匹配的驱动。 2. 通过浏览器地址栏输入`chrome://version/`查看Chrome版本号(例如:123.0.6312.105)。 3. 确保ChromeDriver主版本号(如123.x.x.x)与Chrome完全一致。 ```python from selenium import webdriver driver = webdriver.Chrome() # 若此处直接报错,优先检查版本 ``` #### 2. **正确启动Chrome远程调试模式** - **问题原因**:未正确开启调试端口或端口冲突会导致连接失败。 - **操作步骤**: 1. **关闭所有Chrome进程**: ```bash # Windows taskkill /f /im chrome.exe # macOS/Linux pkill -f "chrome" ``` 2. **通过命令行启动调试端口**: ```bash chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome_profile ``` - `--user-data-dir`指定独立用户目录,避免与默认配置冲突[^2] 3. **验证端口占用**: ```bash # Windows netstat -ano | findstr "9222" # macOS/Linux lsof -i :9222 ``` #### 3. **代码中精确配置调试地址** - **关键代码示例**: ```python from selenium.webdriver.chrome.options import Options options = Options() options.debugger_address = "127.0.0.1:9222" # 或"localhost:9222" driver = webdriver.Chrome(options=options) ``` - **常见错误**: - ❌ 同时设置`options.add_argument("--remote-debugging-port=9222")`(与手动启动冲突) - ❌ 使用未开启的端口号(如默认`9515`) - ❌ 拼写错误如`debugger_address`写成`debugger_Address` #### 4. **处理端口占用与权限问题** - **Windows特有问题**:管理员权限导致端口占用 ```python # 以管理员身份运行Python脚本时,需同步用管理员权限启动Chrome ``` - **Linux/macOS权限问题**: ```bash # 赋予ChromeDriver执行权限 chmod +x chromedriver ``` #### 5. **查看完整错误日志定位问题** - 在代码中捕获异常并打印详细信息: ```python try: driver = webdriver.Chrome(options=options) except Exception as e: print(f"详细错误信息: {str(e)}") # 典型错误示例: # "Unable to discover open pages" -> 调试端口未开启 # "invalid argument: can't kill an exited process" -> 驱动版本过低 ``` --- ### 验证配置是否成功的测试案例 ```python import time from selenium import webdriver from selenium.webdriver.chrome.options import Options # 步骤1:手动启动Chrome调试模式(命令行) # chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome_test # 步骤2:Python连接已有浏览器实例 options = Options() options.debugger_address = "localhost:9222" driver = webdriver.Chrome(options=options) # 步骤3:访问页面验证控制权 driver.get("https://www.baidu.com") search_box = driver.find_element("id", "kw") search_box.send_keys("调试成功") time.sleep(2) driver.quit() ``` --- ###
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

zhangbw~

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

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

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

打赏作者

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

抵扣说明:

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

余额充值