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

Cypress点击登录按钮失败,报$(...).datepicker不是函数错误

解决Cypress测试中点击登录按钮无响应及datepicker报错问题

页面抛出的(uncaught exception)TypeError: $(...).datepicker is not a function是核心问题——这说明页面依赖的jQuery datepicker插件未加载成功,导致前端JS执行中断,直接阻塞了登录按钮的点击逻辑。

以下是两种解决思路:

一、绕过报错,确保测试流程完成

如果只需要完成“访问URL并点击登录按钮”的测试目标,可以通过捕获异常+优化等待逻辑来实现:

  1. 捕获并忽略特定异常:用Cypress的全局异常监听,过滤掉datepicker相关的报错,避免测试中断
  2. 替换硬编码等待:把cy.wait(5000)改成等待按钮可交互的断言,更可靠

修改后的测试代码:

it('Access URL and click login button', () => {
  // 忽略datepicker加载失败的报错
  Cypress.on('uncaught:exception', (err, runnable) => {
    if (err.message.includes('datepicker is not a function')) {
      return false
    }
  })

  cy.visit('URL')
  // 等待登录按钮处于可点击状态后再执行点击
  cy.get('.login-btn').should('be.enabled').click()
})

二、彻底修复页面报错(推荐)

如果要从根源解决问题,需要排查页面的资源加载:

  • 确认jQuery库的加载顺序在datepicker插件之前
  • 检查datepicker插件的资源路径是否正确,是否存在404等加载失败情况
  • 验证页面环境中是否正确引入了datepicker的JS和CSS文件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 00:30:44