Чтобы получить текст в Selenium, элемент должен быть видимым. Вы должны подождать, пока элементы будут видны, прежде чем получить текст. WebDriverWait
используется для определенных c условий ожидания:
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
WebDriverWait wait = new WebDriverWait(driver, 10);
List<WebElement> links = wait.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.cssSelector("a.dropdown-item")));
// links.forEach(element -> System.out.println(element.getText()));
links.forEach(element -> {
// Do something ...
System.out.println("Link text: " + element.getText());
});
Нет метода JavaScript getText()
, поэтому jse.executeScript("arguments[0].getText();", all_Ltext);
не работает.