Я хочу разработать общий c метод для моей платформы, который будет щелкать кнопку с заданным текстом. В моем рабочем приложении есть страницы, на которых есть скрытые кнопки с тем же текстом, что и у цели. Мне нужно, чтобы было какое-то явное ожидание, поскольку некоторым страницам требуется несколько секунд для загрузки элементов. Текущая реализация не работает, потому что она ждет, пока все элементы станут видимыми, когда некоторые из них никогда не загрузят видимые элемент.
Мне нужен способ подождать некоторое время, пока элементы не станут видимыми, но не генерировать исключение, когда не все из них.
public void clickButtonByText(String buttonText) {
WebDriverWait wait = new WebDriverWait(driver, PAGE_COMPONENT_LOADING_AVERAGE_TIME);
String xpath = "//button[normalize-space(text())='" + buttonText + "']";
WebElement button = wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(xpath)));
JavascriptExecutor executor = (JavascriptExecutor) driver;
executor.executeScript("arguments[0].click();", button);}