我已经使用了它们但不知道我应该在哪里使用@findBy
以及我在哪里使用driver.findElement()
我听说@FindBy
表现动态,而driver.findElement()
表现为静态。这是什么意思?
答案 0 :(得分:0)
@FindBy
和driver.findElement()
都是实现同一目标的不同方法,即通过不同的Locator Strategies来定位元素。
使用 PageFactory 时,我们可以使用Annotation Type FindBy。 FindBy 注释可帮助我们删除在查找元素时通常以findElement()
和findElements()
形式使用的样板代码。
例如:
WebElement element = driver.findElement(By.name("q"));
element.click();
成为:
element.click();
您可以在讨论How to use explicit waits with PageFactory fields and the PageObject pattern
中找到@Simon Stewart对同一主题的评论