我的页面上有两个表格。他们都有 10 个字段需要填写。我在一个单独的类中拥有这些字段的选择器,并为它们使用 @Findby 注释(这些字段的选择器在两种表单中都是相同的)。我想出了一个想法,首先找到表单列表,然后使用“for”循环填写每个表单的所有字段。问题是,如果我使用带有注释 @Findby 的字段元素,第一个表单中的字段将被填充两次。如果我对 for 循环中的每个元素使用 Webelement element = form.findelement(By.cssSelector("blablabla"); element.sendKeys ("blabla) ,一切正常。如何在不删除元素的 @Findby 注释的情况下解决此问题? 我尝试过使用
for (WebElement form:forms){
Webelement field1 = form.findElement(By.cssSelector("blablabla");
element.sendKeys ("blabla);
}
这是可行的,但我想在这里使用带有 @FindBy 注释的定位器。在那些我不能使用 form.findElement 方法。我该怎么办?
如果你真的想保留@FindBy注释,你可以这样做。
假设对于每个选择器,您将有两个元素(因为您有两种形式)
@FindBy(css= "blablabla")
List< WebElement> elements;
elements.get(0).sendKeys ("blabla_form1");
elements.get(1).sendKeys ("blabla_form2");