如何Findby
从 a 获取类型和字符串WebElement
?
我正在使用一个自建webDriverWait
函数,该函数将能够接收 By Or Webelement 以在 presentOfElementLocated() 函数中使用。
定义 WebElement
@FindBy(xpath = "//div[@id='calendar-1234']")
private WebElement calander;
两个 webDriverWaitFor 函数
第一个使用 By 并且工作正常:,第二个使用 webElement
public void webDriverWaitFor(WebDriver driver, By by) throws ElementLocatorException {
try{
(new WebDriverWait(driver, 5))
.until(ExpectedConditions.presenceOfElementLocated( by ));
}
catch (Exception e) {
throw new ElementLocatorException(by);
}
}
第二个使用 WebElement,我正在尝试获取 By 类型和字符串。这个暗示不好:By.id(webElement.getAttribute("id"))
public void webDriverWaitFor(WebDriver driver, WebElement webElement) throws ElementLocatorException {
try{
(new WebDriverWait(driver, 5))
.until(ExpectedConditions.presenceOfElementLocated( By.id(webElement.getAttribute("id")) ));
}
catch (Exception e) {
throw new ElementLocatorException( By.id(webElement.getAttribute("id")) );
}
}
我将如何实施以下内容?
webDriverWaitFor(driver, calander);