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

如何用Cypress将下拉框预选值设置为当前值减1

Cypress实现日期下拉框选中预填充日期减1的方法

你需要将日期下拉框(DOM选择器为#ctl00_Main_EndDay)的选中值改为当前预填充日期减1,比如预填充是17号时选中16号,可按以下方式实现:

你的原有代码存在两处问题:一是下拉框的选择操作应该用select而非type(type仅适用于输入框);二是Cypress的异步特性导致你无法直接通过@Day引用完成数值计算。

正确的实现代码如下:

// 获取当前选中的日期值,计算目标日期后完成选择
cy.get('#ctl00_Main_EndDay')
  .invoke('val') // 获取下拉框当前选中的value值
  .then(currentDay => {
    const targetDay = parseInt(currentDay, 10) - 1; // 转换为数字后减1
    cy.get('#ctl00_Main_EndDay').select(targetDay.toString()); // 选中目标日期选项
  });

代码说明:

  • invoke('val'):获取下拉框当前选中的value属性值,和invoke('value')效果一致,是Cypress更常用的写法
  • then回调:由于Cypress命令是异步执行的,必须在回调内处理获取到的currentDay值,才能正确计算出目标日期
  • select方法:下拉框的选择操作必须使用select,传入目标日期的字符串形式(部分下拉框支持数字参数,转字符串兼容性更强)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 11:05:59