我试过使用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框架呢?
答案 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()
异常。