如何在Html Elements框架中使用等待

时间:2015-08-06 15:41:33

标签: selenium-webdriver wait htmlelements

我试过使用Html Elements框架。这是我的一个块:

@Block(@FindBy(id = "test"))
public class FirstBlock extends HtmlElement {

@FindBy(id = "nameS")
private TextInput id;

@FindBy(id = "saveBt")
private Button add;

public void addNewClient(String idText) {
    add.click();
    id.sendKeys(idText);
}

}

我已初始化页面工厂,如:

PageFactory.initElements(new HtmlElementDecorator(driver), this);

现在我想在add.click();之后等待,直到出现下一个元素。 我发现在哪里可以使用AjaxElementLocatorFactory 但是我怎样才能使用Html Elements框架呢?

1 个答案:

答案 0 :(得分:1)

默认情况下,HtmlElements使用AjaxElementLocatorFactory,因此您的代码中不需要任何显式等待。它将尝试找到您的INSERT INTO [tblTemp] ([Column1], [Column2], [Column3], [Column4]) SELECT TOP 10 A.[Column1], A.[Column2], A.[Column3], A.[Column4] FROM OPENROWSET ('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=MY_DEFINED_RANGE_IN_EXCEL;HDR=YES', 'select * from [MY_DEFINED_RANGE_IN_EXCEL]') AS A; 元素,直到成功,然后对其执行id。如果将达到元素等待超时,它将抛出sendKeys()异常。