一、Playwright 填充日期字段有多种方式:
1. 标准 <input type="date"> --- 直接 fill
page.fill("inputtype='date'", "2025-06-15");
page.locator("#datepicker").fill("2025-06-15");
2.非标准控件
我们有如下html

datepicker.html代码如下:
html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>日期选择器演示</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/flatpickr/dist/flatpickr.min.css">
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
background: #f0f2f5;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}
.form-container {
background: #fff;
border-radius: 8px;
box-shadow: 0 2px 12px rgba(0,0,0,0.1);
padding: 32px;
width: 400px;
}
h2 {
font-size: 18px;
color: #333;
margin-bottom: 24px;
text-align: center;
}
.form-group {
margin-bottom: 20px;
}
label {
display: block;
font-size: 14px;
color: #555;
margin-bottom: 6px;
font-weight: 500;
}
.form-group input {
width: 100%;
padding: 10px 12px;
border: 1px solid #d9d9d9;
border-radius: 4px;
font-size: 14px;
outline: none;
transition: border-color .2s;
}
.form-group input:focus {
border-color: #409eff;
box-shadow: 0 0 0 2px rgba(64,158,255,0.15);
}
/* flatpickr 覆写 */
.flatpickr-input { background: #fff !important; }
.submit-btn {
width: 100%;
padding: 10px;
background: #409eff;
color: #fff;
border: none;
border-radius: 4px;
font-size: 15px;
cursor: pointer;
transition: background .2s;
}
.submit-btn:hover { background: #66b1ff; }
.result {
margin-top: 16px;
font-size: 13px;
color: #999;
text-align: center;
min-height: 20px;
}
</style>
</head>
<body>
<div class="form-container">
<h2>预约信息</h2>
<div class="form-group">
<label for="name">姓名</label>
<input type="text" id="name" placeholder="请输入姓名">
</div>
<div class="form-group">
<label for="datepicker">选择日期</label>
<input type="text" id="datepicker" placeholder="点击选择日期">
</div>
<div class="form-group">
<label for="dateRange">日期范围</label>
<input type="text" id="dateRange" placeholder="选择起止日期">
</div>
<button class="submit-btn" id="submitBtn">提交</button>
<div class="result" id="result"></div>
</div>
<script src="https://cdn.jsdelivr.net/npm/flatpickr"></script>
<script src="https://cdn.jsdelivr.net/npm/flatpickr/dist/l10n/zh.js"></script>
<script>
flatpickr("#datepicker", {
locale: "zh",
dateFormat: "Y-m-d",
minDate: "today",
allowInput: true
});
flatpickr("#dateRange", {
locale: "zh",
mode: "range",
dateFormat: "Y-m-d",
minDate: "today",
allowInput: true
});
document.getElementById("submitBtn").addEventListener("click", () => {
const name = document.getElementById("name").value;
const date = document.getElementById("datepicker").value;
const range = document.getElementById("dateRange").value;
document.getElementById("result").textContent =
`姓名: ${name || '(空)'} | 日期: ${date || '(空)'} | 范围: ${range || '(空)'}`;
});
</script>
</body>
</html>
我们创建一个测试类
testDate如下:
html
import com.microsoft.playwright.*;
public class TestDate {
public static void main(String[] args) {
try (Playwright playwright = Playwright.create()) {
Browser browser = playwright.chromium().launch(new BrowserType.LaunchOptions().setHeadless(false));
Page page = browser.newPage();
//打开测试页面
page.navigate("file:///E:/playwright/testDemo/datepicker.html");
page.waitForTimeout(2000);
// 方式1: 直接 fill (flatpickr 支持 allowInput)
Locator locator= page.locator("#datepicker");
locator.highlight();
locator.fill("2026-07-15");
locator.press("Enter");
page.waitForTimeout(2000);
// 方式2: 点击触发弹窗后再选日期
page.locator("//*[@id=\"datepicker\"]").click();
Locator locator2 = page.locator("//html/body/div[2]");
locator2.highlight();
locator2.getByText("15").click();
page.waitForTimeout(2000);
// fill 方式
Locator locator1 = page.locator("#dateRange");
locator1.highlight();
locator1.fill("2026-07-01至2026-07-15");
locator1.press("Enter");
page.waitForTimeout(2000);
// 或通过 JS 直接设值
page.evaluate("() => { document.querySelector('#dateRange')._flatpickr.setDate(['2026-08-01', '2026-08-15']); }");
//停2秒
page.waitForTimeout(2000);
browser.close();
}
}
}
执行结果:

二、通过葫芦娃ui自动化工具操作
①打开葫芦娃ui自动化工具

②加载对应step.xlsx和data.xlsx

③step.xlsx配置如图:
case sheet输入如下

④创建对应sheet 测试输入日期 如下:

⑤切换到工具,点击运行:

⑥执行结果如下:

运行效果和上面一样
完全零代码,直接维护excel 就行,谢谢大家的支持,可以点个赞或转发。谢谢大家~
想要工具可以私聊 或者直接赞赏哈~