You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Selenium报错socket.error: [Errno 111] Connection refused如何解决?

解决Selenium测试中的socket.error: [Errno 111] Connection refused问题

嘿,咱们一步步拆解这个问题,这个错误通常是几个常见原因导致的:

1. 最核心的排查:你的Web应用服务没启动呀!

这个连接拒绝错误的头号原因,就是你Selenium要访问的http://127.0.0.1:8000根本没在运行。先做这两步:

  • 手动打开浏览器输入这个URL,看看能不能正常加载页面
  • 如果打不开,赶紧启动你的Web服务(比如Django项目就跑python manage.py runserver),确保服务在8000端口正常监听

2. 先修复代码里的基础语法错误

你的导入语句写在一起了,这会直接导致代码报错,得拆成两行:

from selenium import webdriver
import httplib

3. 优化Chromedriver的配置

你手动指定了chromedriver路径,很可能存在路径错误或者版本不匹配的问题:

  • 先确认v1/chromedriver-Linux64这个路径是对的,文件确实存在,而且给它加可执行权限(跑chmod +x v1/chromedriver-Linux64就行)
  • 更省心的方式是用webdriver-manager自动管理driver版本,完全不用手动找路径:
    先装依赖:pip install webdriver-manager
    然后修改driver初始化代码:
    from selenium import webdriver
    from selenium.webdriver.chrome.service import Service
    from webdriver_manager.chrome import ChromeDriverManager
    
    driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
    

4. 换掉过时的元素定位方法

你用的driver.find_element_by_css_selector("#menu")是Selenium 3的旧语法,现在Selenium 4+已经弃用了,换成新写法更稳妥:

from selenium.webdriver.common.by import By

driver.find_element(By.CSS_SELECTOR, "#menu")

调整后的完整示例代码

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.by import By
import httplib

# 自动匹配并安装对应版本的chromedriver
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
url = "http://127.0.0.1:8000/loty/accounts/login/"

try:
    driver.get(url)
    # 定位目标元素
    menu_element = driver.find_element(By.CSS_SELECTOR, "#menu")
    print("成功找到菜单元素啦")
except httplib.BadStatusLine as bsl:
    print(f"遇到状态行错误: {bsl}")
except Exception as e:
    print(f"发生其他错误: {e}")
finally:
    # 记得用完关闭浏览器
    driver.quit()

内容的提问来源于stack exchange,提问作者Jecke

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:36:48