为什么在使用@findBy注释时,为什么要使用initelement方法初始化Web元素,而在driver.findElement()中,我们不需要初始化?
@FindBy(id="search")
WebElement searchTextBox;
public PageFactoryDemoClass(WebDriver driver){
this.driver = driver;
}
答案 0 :(得分:0)
因为在初始化之前,这些对象/元素不属于已处理的代码块。它是用于创建实例的对象,驱动程序无法知道它们是已构建还是已加载。
您可以这样想,在初始化之前也不能使用其他类。如果您提出这个问题,我认为您应该检查OOP的依据。
Here是一篇很好的文章,说明了初始化为何如此重要。