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

Playwright实现自动填充当前日期+1天的方法求助

解决Playwright自动填充当前日期+1天的问题

要实现自动填充当前日期加1天的日期到input[type="date"],你需要完成日期计算和格式转换两步,再整合到Playwright的fill()方法中,具体步骤如下:

1. 日期计算与格式转换

你已经完成了日期加1天的计算,接下来需要把Date对象转换成yyyy-mm-dd格式(这是input[type="date"]元素接受的标准格式,虽然页面显示可能是yyyy/mm/dd,但填充时必须用横杠分隔的格式)。

可以通过以下方式格式化日期:

  • 获取年:date.getFullYear()
  • 获取月:注意月份是从0开始计数的,所以要加1,并且补前导零(比如1月要转成01)
  • 获取日:同样补前导零,确保是两位数字

2. 整合到Playwright代码

把日期计算和格式转换的逻辑封装成一个函数,直接作为fill()的参数即可。

完整代码示例:

// 计算并格式化当前日期+1天的日期
const getTomorrowDate = () => {
  const date = new Date();
  date.setDate(date.getDate() + 1);
  const year = date.getFullYear();
  const month = String(date.getMonth() + 1).padStart(2, '0');
  const day = String(date.getDate()).padStart(2, '0');
  return `${year}-${month}-${day}`;
};

// 填充到日期输入框
await page.locator('input[type="date"]').fill(getTomorrowDate());

补充说明

  • 如果你的页面日期输入框是普通文本框(非标准date类型),要求yyyy/mm/dd格式,只需要把返回的连接符改成斜杠即可:return ${year}/${month}/${day};
  • padStart(2, '0')用于确保月份和日期都是两位数字(比如5月变成05,9号变成09),避免因格式不规范导致填充失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 19:31:13