Я работаю с Selenium Standalone Server 3.0.1
. Я пытаюсь добавить Explicit Wait
в свой код, чтобы обнаружить элемент через xpath, когда элемент становится видимым. Чтобы получить некоторую помощь Java, я искал исходный код для Selenium Standalone Server 3.0.1
, но не смог его найти. Я нашел исходный код в выпуске selenium-java-2.53.1
. Я загрузил его и нашел selenium-java-2.53.1-srcs
и добавил к моему Eclipse IDE
. С помощью FluentWait
я просто скопировал код в моем Eclipse IDE
и изменил имена переменных.Selenium Webdriver 3.0.1- [Eclipse-Java-Chrome]: Ошибка отображения селена для FluentWait Class
Пример кода в документации, как:
// Waiting 30 seconds for an element to be present on the page, checking
// for its presence once every 5 seconds.
Wait<WebDriver> wait = new FluentWait<WebDriver>(driver)
.withTimeout(30, SECONDS)
.pollingEvery(5, SECONDS)
.ignoring(NoSuchElementException.class);
WebElement foo = wait.until(new Function<WebDriver, WebElement>() {
public WebElement apply(WebDriver driver) {
return driver.findElement(By.id("foo"));
}
});
Но когда я реализую этот код, просто скопировать вставив:
Wait<WebDriver> wait = new FluentWait<WebDriver>(driver)
.withTimeout(30, TimeUnit.SECONDS)
.pollingEvery(5, TimeUnit.SECONDS)
.ignoring(NoSuchElementException.class);
WebElement element = wait.until(new Function<WebDriver, WebElement>() {
public WebElement apply(WebDriver driver) {
return driver.findElement(By.xpath("//p[text()='WebDriver']"));
}
});
Я получаю сообщение об ошибке на FluentWait
класса, как The type FluentWait is not generic; it cannot be parameterized with arguments <WebDriver>
Вот список импорта:
import java.util.concurrent.TimeUnit;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
import org.openqa.selenium.By;
import org.openqa.selenium.NoSuchElementException;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.Wait;
import com.google.common.base.Function;
Может ли кто-нибудь помочь мне, пожалуйста?
@blalasaadri @Mira любые предложения с вашего конца?
Пробовали ли вы пример из документации? https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/support/ui/FluentWait.html – JeffC
@JeffC Спасибо. Я вижу некоторую разницу между документацией, предоставленной кодом selenium-java-2.53.1 src, и документацией, предоставленной в указанном вами URL-адресе. В то время как в selenium-java-2.53.1 код src создание объекта равно << - Wait wait = new FluentWait (driver) - >> но документация по ссылке говорит, что это << - Подождите wait = new FluentWait (водитель) - >> –
DebanjanB