在某些情况下,Web元素上没有任何操作,只有在完全加载后才能使用

时间:2015-09-24 14:18:34

标签: java selenium htmlelements

我使用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"

1 个答案:

答案 0 :(得分:1)

问题可能在@FindBy(xpath = "//span[text()='Select']")。当您使用// selenium启动xpath表达式时忽略元素上下文并从文档根目录查找。所以也许你的行动(点击,发送键)可行,但错误的元素。要解决此问题,请使用./启动xpath或使用css定位器。