CheckBox не активен, потому что другой элемент <label>скрывает его - PullRequest
0 голосов
/ 18 апреля 2020

Я пытаюсь установить флажок через firefox веб-драйвер, но всегда получаю сообщение об ошибке, например:

Исключение в потоке "main" org.openqa.selenium.ElementClickInterceptedException: Элемент не активируется в точке (482 548), потому что другой элемент скрывает это

Я попытался предложить несколько вариантов решения, таких как максимизация страницы, поиск элемента флажка и использование действий, но ни одно из них не помогло. Я думаю, что проблема в ярлыке рядом с флажком. Я думаю, что Selenium пытается найти центр текста, и в этот момент существует ссылка на модальное окно. This is the HTML code where the regarding checkbox is defined

This is the appearance of the checkbox which is not clickable by Selenium

Пример кода приведен ниже:

    WebElement element = driver.findElement(By.name("aydinlatma"));     
    js.executeScript("arguments[0].scrollIntoView();",element );
    element.click();

    /*Actions action = new Actions(driver);
    action.moveToElement(element).click().perform();
    */

Спасибо за помощь.

Ответы [ 2 ]

0 голосов
/ 20 апреля 2020

Проблема решается при поиске элемента по его xpath вместо его имени.

    WebElement element = driver.findElement(By.xpath("/html/body/div[1]/div[3]/form/div[5]/div/label/i"));     
    js.executeScript("arguments[0].scrollIntoView();",element );
    element.click();
0 голосов
/ 18 апреля 2020

Возможно, вы пытаетесь щелкнуть, когда страница и этот точный флажок загружаются. Попробуйте реализовать механизм ожидания для этого элемента, что-то вроде этого:

WebDriverWait wait = new WebDriverWait(driver, timeoutInSeconds);
wait.until(ExpectedConditions.elementToBeClickable(<locator>);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...