@red0606060606

Не получается сделать клик по элементу внутри frama. Ошибка ElementNotInteractableException?

60ec7bd2499c4157855774.png

Возникла трудность при работе с iframe.
Мне надо как-то кликнуть в последний элемент с классом bg-event-time-container. но клик не работает и система ругается что ElementNotInteractableException

пробовала так:
@FindAll({@FindBy(xpath = "//div[@class='bg-allowed fc-bgevent']")}) // Свободное время для врача
    List<WebElementFacade> emptyShedulePlace;
    public void clickLastFreeTimeForDoctor() {

        List <WebElementFacade> empty = emptyShedulePlace.get(0).thenFindAll(".//div");
        scrollIntoView(emptyShedulePlace.get(0));
        System.out.println("size_ "+empty.size());
        empty.get(empty.size()-1).click();

        WebElement ele = empty.get(empty.size());
        JavascriptExecutor executor = (JavascriptExecutor)empty;
        executor.executeScript("arguments[0].click();", ele);
    }
  • Вопрос задан
  • 74 просмотра
Решения вопроса 1
@red0606060606 Автор вопроса
нашла решение проблемы:
String appointmentSlotPatternNoRecord = "//div[@class='bg-allowed fc-bgevent']//div[@class='text-center bg-event-time']//span[text()='%s']/ancestor::div[@class='bg-event-time-container']";

передавала ему значение для span и клик в таком случае только работал
$(String.format(appointmentSlotPatternNoRecord, value)).waitUntilClickable().click();
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
azerphoenix
@azerphoenix Куратор тега Java
Java Software Engineer
Добрый день!
Если не ошибаюсь, то вам нужно переключиться на iframe. Вы не можете кликнуть на его элементы не переключившись на него.
Полезная ссылка по теме:
https://www.guru99.com/handling-iframes-selenium.html

It is impossible to click iframe directly through XPath since it is an iframe. First we have to switch to the frame and then we can click using xpath.


Вот, как происходит переключение на фрейм (прочитайте статью по ссылке выше):
driver.switchTo().frame("a077aa5e");
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы