1

例如,是否可以定义:

@FindBy(By.id("id1")By.id("form1:id1")) 公共 WebElement 按钮

那么具有“id1”或“form1:id1”的按钮应该可以正常工作吗?

4

3 回答 3

1

可以使用@FindBys 注解,语法为:

@FindBys({@FindBy(id = "foo"),
           @FindBy(className = "bar")})

JavaDoc 在这里对其进行了描述:

http://selenium.googlecode.com/git/docs/api/java/org/openqa/selenium/support/FindBys.html

于 2013-04-12T12:07:28.757 回答
0

使用 Xpath 或 CSS 选择器来做到这一点。或 Java 将 ID 名称存储在 String 中,然后您可以将其填充到您的 Id 中。

于 2013-04-12T12:46:25.377 回答
0

好吧,使用任何你想要的,只要它有效

我个人会使用@FindBy(By.id("id1")),但这只是选择点。

此外,使用两种不同的方法两次引用相同的元素并没有增加任何价值。它只会导致您的代码混乱

编辑 据我了解您的评论,页面上有一个元素会不断更改其 ID。如果您需要引用此类元素,请尝试使用xPath参见例如此xpath 教程

这个想法是您将指向 DOM 中的某个位置,而不是特定的 ID

于 2013-04-11T07:32:34.837 回答