Selenium Firefox webdriver 看不到给定的 webelement 但 Chrome 可以吗?

Selenium Firefox webdriver cannot see webelement given but Chrome can?

我有一个测试用例可以更改弹出对话框中的时间值。为此,我创建了一个名为 setDateInput.

的方法
public void setDateInput(Object date, WebElement input_date, String format) throws InterruptedException {
        if(date == null) {
            //leave the date as it is.
            return;
        } else if( (date instanceof Date) ) { //arg date is passed.
            String new_date = new SimpleDateFormat(format).format(date);
            input_date.clear();
            input_date.sendKeys(new_date);
            return;
        } else if(date instanceof String) {
            input_date.clear();
            input_date.sendKeys((String)date);
            return;
        }
        
    }

当它被下面的代码调用时,Chrome 驱动程序将 startInput 更改为 23:55 但 firefox 既不 clear() 也不 sendKeys()

setDateInput("23:55", startInput, "HH:mm");

所以,我的问题是,在 Firefox webdriver 中是否有不同的方法来处理文本类型输入?

提前致谢。

更新: HTML中的start_time元素代码如下

<input type="text" id="StartTime" value="00:01" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]" placeholder="HH:MM" class="form-control input-text time-field-hm" required="" inputmode="numeric">

我自己找到了答案。此解决方案并未完全解决问题,但更多的是解决方法。

我刚刚在 clear() 方法之前添加了一个方法 click()。然后 Firefox webdriver 设法专注于该元素。它清除并向输入字段发送一个 23:55 字符串。解决问题的奇怪方法。

或者简单地 sendKeys("") 也可以。希望这对您有所帮助。