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

Vaadin TestBench 23.1.15:如何在Vaadin Grid的输入字段中输入内容?

Vaadin TestBench 23.1.15操作Grid内输入字段的方法

因为GridTHTDElement本身没有提供直接操作输入字段的方法,你可以通过定位单元格内的输入组件TestBench元素来完成输入操作,具体步骤如下:

  • 第一步:定位目标Grid和对应的单元格
    先获取页面上的Grid元素,再根据行、列索引拿到目标单元格:

    // 获取页面中的第一个Grid
    GridElement grid = $(GridElement.class).first();
    // 获取指定行、列的单元格(索引从0开始计数)
    GridTHTDElement targetCell = grid.getCell(1, 2); // 示例:第2行第3列
    
  • 第二步:从单元格中查找输入组件
    根据单元格内输入组件的类型,使用$()方法查找对应的TestBench元素,常见的输入组件对应类如下:

    • 文本框:TextFieldElement
    • 数字输入框:NumberFieldElement
    • 文本域:TextAreaElement
    • 密码框:PasswordFieldElement

    示例代码(以TextField为例):

    // 从目标单元格中找到TextField组件
    TextFieldElement inputField = targetCell.$(TextFieldElement.class).first();
    
  • 第三步:执行输入操作
    直接调用输入组件的setValue()方法赋值,或者用sendKeys()模拟键盘输入。如果输入框需要先激活才能输入,可以先调用click()方法:

    // 可选:点击激活输入框(部分组件需要聚焦后才能输入)
    inputField.click();
    // 输入目标内容
    inputField.setValue("需要输入的文本内容");
    

完整示例代码

// 定位Grid和目标单元格
GridElement grid = $(GridElement.class).first();
GridTHTDElement targetCell = grid.getCell(1, 2);

// 查找单元格内的输入框并输入内容
TextFieldElement inputField = targetCell.$(TextFieldElement.class).first();
inputField.click();
inputField.setValue("测试输入内容");

如果输入组件有自定义的标识(如ID、CSS类名),可以用更精准的定位方式,比如:

TextFieldElement inputField = targetCell.$(TextFieldElement.class).id("custom-input-id");

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 01:25:09