3

我使用 htmlelements 模式,在 pagefactory 上类似。搜索通过@FindBy 的元素。某些元素无法执行操作(单击、发送键...),因为页面上的表单没有完全加载并且似乎没有对其执行操作,并且驱动程序已经尝试为其执行操作。仅帮助方法 Thread.sleep()。但我想使用显式等待。Timeouts(),htmlelements 的成员无济于事。例如:

public class ButtonForm extends HtmlElement {

    @FindBy(xpath = "//span[text()='Select']")
    public Button selectButton;

    public void selectButton() {
        selectButton.click();
    }

在当前测试中长时间运行的行为并没有点击操作。我想实现这样的韧带:“WebElement + WebDriverWait + ExpectedConditions”

4

1 回答 1

1

问题大概就在这里@FindBy(xpath = "//span[text()='Select']")。当您使用//selenium 启动 xpath 表达式时,会忽略元素上下文并从文档根目录查找。因此,也许您的操作(单击、发送键)有效,但在错误的元素上。./要解决此问题,请使用 a或 css 定位器启动您的 xpath 。

于 2015-09-25T10:36:31.760 回答