Java 如何获取WebElement的定位器注释?

Java 如何获取WebElement的定位器注释?,java,selenium,selenium-webdriver,pageobjects,Java,Selenium,Selenium Webdriver,Pageobjects,我正在尝试实现如下内容: @FindBy(id = "element-id") private WebElement element; public boolean isElementExists() { try { this.driver.findElement(element.getAnnotationLocator()); return true; } catch(NoSuchElementException

我正在尝试实现如下内容:

@FindBy(id = "element-id")
private WebElement element;

public boolean isElementExists() {
    try { 
       this.driver.findElement(element.getAnnotationLocator());
       return true;       
    } catch(NoSuchElementException e) {
      return false;
    }
}

我的问题是我使用的是AjaxElementLocatorFactory,所以简单地将element.getTagName()放在try-and-catch中需要花费太长时间。有没有办法获得WebElement的定位器注释?

您试图解决的实际问题是什么?可能是您启用了隐式等待,这样您的findElement实际上是在返回NoSuchElementException之前等待该元素(我认为默认值是30秒)。这就是问题所在吗?我的问题是我在页面工厂中使用AjaxElementLocatorFactory。AjaxElementLocatorFactory在抛出NoTouchElementException之前等待一定时间。我想写一个函数,检查元素是否存在而不等待。你们是否像我建议的那个样研究了隐式和显式等待?