Не меняется обычным способом поле time на UI. Как исправить? Автотест

public static void addTimeEndByOperation() {
    $(byAttribute(ATT_NAME, OPERATION.getAttValue())).shouldBe(visible.because("Секция <Операции не отображается>"));
    finishTime.shouldBe(visible);
    finishTime.doubleClick();
    JavascriptExecutor js = (JavascriptExecutor)webdriver();
    js.executeScript("w = document.getElementsByClassName(`user-update__container validation-text ts-invalid hasDataset ng-star-inserted\")[1]; " +
            "w.onclick = function() {w.innerText = \"07:00\"}");
    /*((JavascriptExecutor) getWebDriver()).executeScript("document.querySelector('//table-intersection-cell[@celltype='time'][@class='user-update__container validation-text ts-invalid hasDataset ng-star-inserted']').setAttribute('0000', '0700')");*/
    /*finishTime.doubleClick().sendKeys(Keys.NUMPAD0);*/
    finishTime.shouldBe(visible);
    finishTime.shouldHave(text("07:00")).shouldBe(visible.because("Время окончания работ отображается некорректно"));

Пробовал так:

finishTime.sendKeys("0700", Keys.ENTER);
finishTime.val("0700");
finishTime.setValue("0700");
finishTime.setValue(SetValueOptions.withText("0700"))

И ничего. Через JS что-то не меняет.

Что делать? Что не так в коде? Подскажите пожалуйста.

Это для автотеста.


Ответы (1 шт):

Автор решения: Vasiliy Volgin

Нашел решение через actions

Actions actions = new Actions(WebDriverRunner.getWebDriver());
    actions
            .doubleClick(finishTime)
            .pause(100)
            .sendKeys("0700")
            .sendKeys(Keys.ENTER)
            .build()
            .perform();
→ Ссылка