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

使用装饰器WebDriver时输入框仍留占位符问题(仅本地正常)

问题:仅本地环境正常

目标:聚焦输入元素、输入内容、失去焦点(聚焦body)
问题现象:输入元素同时显示占位符与输入值
环境:本地环境正常,但在Docker部署的Linux无头Firefox(geckodriver v0.32)中出现异常
说明:使用Selenium 4.0且未用装饰器时偶尔出现该问题,升级到4.4.0并使用装饰器后必现

复现步骤

环境配置:Java 8、Selenium 4.4.0、Linux系统、无头Firefox

  1. 初始化带装饰器的WebDriver:new CustomEventFiringDecorator<>(...).decorate(driver) [1]
  2. 执行页面导航等操作
  3. 定位目标输入元素
  4. 点击元素获取焦点
  5. 向元素中输入内容 [2]
  6. 点击body元素使输入框失去焦点(触发表单验证)

已尝试方案

  • 通过WebDriver、WebElement、Actions、JavaScript执行点击操作
  • 使用JavaScript设置输入元素和body的焦点

[1] CustomEventFiringDecorator是EventFiringDecorator的复刻版本,仅修改了onError实现
[2] 之前直接通过WebElement输入(问题依旧),当前使用如下代码:

Actions actions = new Actions(webDriver);
for (char letter : text.toCharArray()) {
    actions.sendKeys(element, String.valueOf(letter));
    actions.pause(Duration.ofMillis(100));
}
actions.build().perform();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 04:35:14