Class1:具有这样的可重用函数 -
public class Class1 {
WebDriverWait wdw = new WebDriverWait(driver, 10);
public WebElement getElement(WebElement element) {
wdw.until(ExpectedConditions.elementToBeClickable(element));
}
}
等级2:
public class Class2 {
public static void main(String[] args) {
ge.getElement(login_button).click();
}
}
现在,如果页面上没有该元素或超时等,我怎样才能在控制台中打印“login_button”(带有更多信息)
我试过了: 的Class1:
public class GetElement {
WebDriverWait wdw = new WebDriverWait(driver, 10);
public WebElement getElement(WebElement element) {
try {
return wdw.until(ExpectedConditions.elementToBeClickable(element));
} catch (Exception e) {
System.err.println(element);
}
return null;
}
}
但是打印此元素会在控制台中显示:
Proxy element for: org.openqa.selenium.support.pagefactory.DefaultElementLocator@57250572
而不是
login_button
答案 0 :(得分:0)
您有 WebElement &想要打印它的名称,那么你可以使用 WebElement 界面的 getText()方法。看看这个WebElement - java.lang.String getText()。
public class GetElement {
WebDriverWait wdw = new WebDriverWait(driver, 10);
public WebElement getElement(WebElement element) {
try {
return wdw.until(ExpectedConditions.elementToBeClickable(element));
} catch (Exception e) {
System.err.println(element.getText());
}
return null;
}
}