例如,是否可以定义:
@FindBy(By.id("id1")
或By.id("form1:id1"))
公共WebElement按钮
那么具有“id1”或“form1:id1”的按钮应该可以正常工作吗?
答案 0 :(得分:1)
您可以使用@FindBys注释,语法为:
@FindBys({@FindBy(id = "foo"),
@FindBy(className = "bar")})
JavaDoc在此描述:
http://selenium.googlecode.com/git/docs/api/java/org/openqa/selenium/support/FindBys.html
答案 1 :(得分:0)
那么, 使用你想要的东西,只要它有效
就我个人而言,我会使用@FindBy(By.id("id1"))
,但这只是一个选择点。
此外,使用两种不同的方法两次引用相同的元素没有任何附加值。它只会导致代码混乱
修改强> 据我了解你的评论,页面上有一些元素不断更改其ID。如果您需要引用此类元素,请尝试使用 xPath 例如,请参阅此xpath tutorial
我们的想法是,您将指向DOM中的某个位置而不是特定ID
答案 2 :(得分:0)
使用Xpath或CSS选择器来执行此操作。或者Java将ID名称存储在String中,然后您可以将其填入您的Id。