使用装饰器WebDriver时输入框仍留占位符问题(仅本地正常)
问题:仅本地环境正常
目标:聚焦输入元素、输入内容、失去焦点(聚焦body)
问题现象:输入元素同时显示占位符与输入值
环境:本地环境正常,但在Docker部署的Linux无头Firefox(geckodriver v0.32)中出现异常
说明:使用Selenium 4.0且未用装饰器时偶尔出现该问题,升级到4.4.0并使用装饰器后必现
复现步骤
环境配置:Java 8、Selenium 4.4.0、Linux系统、无头Firefox
- 初始化带装饰器的WebDriver:
new CustomEventFiringDecorator<>(...).decorate(driver)[1] - 执行页面导航等操作
- 定位目标输入元素
- 点击元素获取焦点
- 向元素中输入内容 [2]
- 点击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
相关产品推荐
相关产品推荐

