Как убрать предупреждение об устаревании при тайм-ауте и опросе в Selenium Java Client v3.11.0
Ниже приведен мой код, который считается устаревшим после того, как я обновил версию Selenium Webdriver до 3.11.0.
private Wait<WebDriver> mFluentWait(WebDriver pDriver) {
Wait<WebDriver> gWait = new FluentWait<WebDriver>(pDriver).withTimeout(100, TimeUnit.SECONDS)
.pollingEvery(600, TimeUnit.MILLISECONDS).ignoring(NoSuchElementException.class);
return gWait;
}
Отображение устаревшего предупреждения в withTimeout
а также pollingEvery
раздел в коде.
Как я могу переписать этот код, чтобы удалить устаревшее предупреждение.
Так как я новичок в селене, я не уверен об изменении. Любая помощь будет оценена.
4 ответа
Ответ @Grasshopper указывает нам на точный измененный конструктор FluentWait и ваше требование удалить предупреждение об устаревании из полей withTimeout и pollingEvery. Если вы столкнулись с дальнейшими трудностями, вы можете использовать строку кода ниже:
import java.time.Duration;
//lines of code
Wait<WebDriver> gWait = new FluentWait<WebDriver>(pDriver).withTimeout(Duration.ofSeconds(100))
.pollingEvery(Duration.ofMillis(600)).ignoring(NoSuchElementException.class);
Проверьте исходный код FluentWait, в котором упоминается использование методов, использующих вместо Duration в качестве аргументов.
- withTimeout - использовать
withTimeout(Duration duration)
метод. - pollingEvery - используйте
pollingEvery(Duration duration)
метод.
Вы можете использовать следующие строки кода:
Wait<Browser> wait = new FluentWait<>(driver)
.withTimeout(Duration.ofSeconds(*timeToWaitInSec*))
.pollingEvery(Duration.ofMillis(*TimeToTryinMillisec*))
.ignoring(WebDriverException.class);
После обновления до Selenium 4 несколько старых методов, частью которых является Fluent wait, устарели.
Используйте приведенный ниже код в аналогичном порядке для бесшовного выполнения:
Wait<Browser> wait = new FluentWait<>(driver)
.withTimeout(Duration.ofSeconds(*timeToWaitInSec*))
.ignoring(WebDriverException.class)
.pollingEvery(Duration.ofMillis(*TimeToTryinMillisec*));
Также обратитесь к статье ниже для других изменений/обновлений в Selenium 4.