Java WebDriverWait如何获得持续时间

时间:2018-03-15 20:08:23

标签: java selenium webdriverwait

我目前正在将C#Selenium框架转换为Java。在该框架中,我有一个返回当前WebDriverWait的属性;

private WebDriverWait elementFindTimings;
.
.
.
public TimeSpan FindTimeout { get { return elementFindTimings.Timeout; } }

我已将其翻译为Java get方法;

private WebDriverWait elementFindTimings;
.
.
.
\\ The .getTimeout() method does not exist in the WebDriverWait class, I've
\\ put it in for example of what I'm trying to do.
public Duration getFindTimeout() { return elementFindTimings.getTimeout(); }

但是,Java WebDriverWait(它扩展了FluentWait实现Wait)似乎没有一种方法可以让我获得持续时间值。显然我在这里遗漏了一些东西,因为使用WebDriverWait的WebDriver代码需要获得持续时间。作为Java的新手,我可能在这里错过了一个关键的Java语言。那么,我如何获得WebDriverWait持续时间?

2 个答案:

答案 0 :(得分:0)

没有办法。

查看WebDriverWait和FluentWait类,持续时间和内部持续时间是私有的,并且没有返回它们的公共/受保护方法。

它们不需要暴露,因为它们在WebDriverWait类内部使用 - 要轮询/等待的函数在.until方法上传递。

答案 1 :(得分:0)

首先,我不确切地知道你为什么需要它,正如@Mat所说,你不能直接这样做。但是,作为一种解决方法,每当您在WebDriverWait上设置超时值时,也会将其存储在单独的字段中,然后在需要知道超时值时读取该字段。 您可以从WebDriverWait派生一个类,并将该值保存在该类中的新字段中,并为其提供一个getter。