例如,是否可以定义:
@FindBy(By.id("id1")
或By.id("form1:id1"))
公共 WebElement 按钮
那么具有“id1”或“form1:id1”的按钮应该可以正常工作吗?
例如,是否可以定义:
@FindBy(By.id("id1")
或By.id("form1:id1"))
公共 WebElement 按钮
那么具有“id1”或“form1:id1”的按钮应该可以正常工作吗?
可以使用@FindBys 注解,语法为:
@FindBys({@FindBy(id = "foo"),
@FindBy(className = "bar")})
JavaDoc 在这里对其进行了描述:
http://selenium.googlecode.com/git/docs/api/java/org/openqa/selenium/support/FindBys.html
使用 Xpath 或 CSS 选择器来做到这一点。或 Java 将 ID 名称存储在 String 中,然后您可以将其填充到您的 Id 中。
好吧,使用任何你想要的,只要它有效
我个人会使用@FindBy(By.id("id1"))
,但这只是选择点。
此外,使用两种不同的方法两次引用相同的元素并没有增加任何价值。它只会导致您的代码混乱
编辑 据我了解您的评论,页面上有一个元素会不断更改其 ID。如果您需要引用此类元素,请尝试使用xPath参见例如此xpath 教程
这个想法是您将指向 DOM 中的某个位置,而不是特定的 ID