需要使用 Selenium Java 以两种形式发送具有相同选择器的几个字段的密钥

问题描述 投票:0回答:1

我的页面上有两个表格。他们都有 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 方法。我该怎么办?

java selenium-webdriver findby
1个回答
0
投票

如果你真的想保留@FindBy注释,你可以这样做。

假设对于每个选择器,您将有两个元素(因为您有两种形式)

@FindBy(css= "blablabla")
List< WebElement> elements;

elements.get(0).sendKeys ("blabla_form1");
elements.get(1).sendKeys ("blabla_form2");
© www.soinside.com 2019 - 2024. All rights reserved.