【发布时间】:2020-02-18 09:36:04
【问题描述】:
我在我的 Page.class 中编写了以下方法来重用隐式等待。
public WebDriver waitForElementToLoad(WebElement element)
{
WebDriverWait wait = new WebDriverWait(driver, 60);
wait.until(ExpectedConditions.presenceOfElementLocated((By) element));
return (driver);
}
在我的 test.class 中,我使用了页面工厂元素,例如:
//Save button
@FindBy(xpath = "//*[@*='Save']")
private WebElement saveButton;
现在我正在尝试调用:
waitForElementToLoad(saveButton);
来自 test.Class 但我遇到了错误。
"java.lang.ClassCastException: com.sun.proxy.$Proxy12 类不能 转换为 org.openqa.selenium.By 类(com.sun.proxy.$Proxy12 和 org.openqa.selenium.By 在 loader 'app' 的未命名模块中)"
我也试过了
WebElement saveButton = driver.findElement(By.xpath("//*[@*='Save']"));
waitForElementToLoad(saveButton);
但没有运气。
我怎样才能做到这一点?
【问题讨论】:
标签: java selenium selenium-webdriver pageobjects page-factory