我使用htmlelements模式,类似于pagefactory。搜索通过@FindBy的元素。有些元素无法执行操作(click,sendkeys ...),因为页面上的表单没有完全加载,并且似乎没有对其执行操作,并且驱动程序已经在尝试对其执行操作。仅帮助方法Thread.sleep()。但我想使用Explicit Waits。超时(),htmlelements的成员没有帮助。 例如:
public class ButtonForm extends HtmlElement {
@FindBy(xpath = "//span[text()='Select']")
public Button selectButton;
public void selectButton() {
selectButton.click();
}
在当前测试中长时间运行的行为并没有单击操作。 我想实现像这样的韧带:" WebElement + WebDriverWait + ExpectedConditions"
答案 0 :(得分:1)
问题可能在@FindBy(xpath = "//span[text()='Select']")
。当您使用//
selenium启动xpath表达式时忽略元素上下文并从文档根目录查找。所以也许你的行动(点击,发送键)可行,但错误的元素。要解决此问题,请使用./
启动xpath或使用css定位器。