Аннотации @FindBy не могут найти элемент, когда состояние элемента не видно - PullRequest
0 голосов
/ 24 мая 2019

@FindBy аннотация не может найти элемент, когда состояние элемента не видно.Мы пишем некоторые SEO-тесты, эти элементы не видны на веб-странице.

Например, следующее не работает;

@CacheLookup
@FindBy(xpath = "//meta[@name='description']")
public WebElementFacade metaDescription;

Но это работает;

WebElement metaV2 = getDriver().findElement(By.xpath("//meta[@name='description']"));

Этовыдает ошибку вроде:

org.openqa.selenium.ElementNotVisibleException: Timed out after 15 seconds. Element not available

Есть идеи?

Спасибо

1 Ответ

2 голосов
/ 25 мая 2019

WebElementFacade ожидает, что элемент будет видимым, прежде чем взаимодействовать с ним (как и многие стандартные методы WebElement).Если вы хотите проверить невидимый элемент, используйте WebElement или полностью избегайте @FindBy, например,

By META_V2 = By.xpath("//meta[@name='description']")
.
.
.
$(META_V2).shouldBePresent();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...