Selenium WebDriverWait — не удается нажать кнопку

#java

#java

Вопрос:

Надеюсь, кто-нибудь может помочь с этой проблемой. Проблема в том

org.openqa.selenium.Исключение WebDriverException: неизвестная ошибка: элемент недоступен для просмотра в точке (885, 86). Другой элемент получит щелчок : …

Код Java показан ниже:

     //Thread.sleep(10000);   

    WebDriverWait wait = new WebDriverWait(driver, 10);

    WebElement wSelectFI = wait.until(ExpectedConditions.presenceOfElementLocated(
            By.xpath("//*[@id="filterForm"]/div[1]/span[2]/button[1]"))); 

    wSelectFI.click();
  

Для wSelectFI, если я использую

 String textValue = wSelectFI.getText();
  

Тогда текстовое значение правильное, так что теперь я получаю правильный WebElement. Но когда я использую метод «click», возникает ошибка. Если я использую

 Thread.sleep(10000);
  

в коде результат правильный. И если я отлажу код, результат тоже будет правильным. Поэтому я предполагаю, что ошибка заключается в наложении элемента. Я попытался добавить код

     JavascriptExecutor js = (JavascriptExecutor) driver;
    js.executeScript("arguments[0].scrollIntoView(true);", wSelectFI);
    wSelectFI.click();
  

и код

     JavascriptExecutor js = (JavascriptExecutor) driver;
    js.executeScript("window.scrollTo(0," wSelectFI.getLocation().x ")");
    wSelectFI.click();
  

Оба они не сработали. кто-нибудь знает, как исправить?

Ответ №1:

Следующий код решил мою ошибку

     JavascriptExecutor js = (JavascriptExecutor) driver;
    js.executeScript("arguments[0].click()", wSelectFI);