目前我正在使用@FindBy注释元素,如下所示
@FindBy(xpath = "//a[@class='fNiv' and contains(text(), 'Home')]")
public static WebElement Tab_Home;
但是当我尝试使用布尔时,我收到错误"更改为getSize()"我的布尔语法是
//AllGeneralTabs is the class name where I have stored my elements
Boolean home=AllGeneralTabs.Tab_Home.size()>0;
当我将Element定义为
时,我希望以某种方式工作public static final By Tab_Home=By.xpath("//a[@class='fNiv' and contains(text(), 'Home')]");
然后布尔值将完全适用于以下语法
Boolean home=driver.findElements(AllGeneralTabs.Tab_Home).size()>0;
它返回true / False并按预期工作,但@FindBy注释不会发生这种情况。由于我现在使用@FindBy定义了所有元素,我无法返回并将其更改为最终语句,我没有时间。
答案 0 :(得分:1)
尝试以下解决方案。
@FindAll(@FindBy(how = How.XPATH, using = "//a[@class='fNiv' and contains(text(), 'Home')]"))
List<WebElement> allElements;
OR
@FindBys(@FindBy(xpath="//a[@class='fNiv' and contains(text(), 'Home')]")))
List<WebElement> allElements;
让我知道它是否适合你。
答案 1 :(得分:0)