1

我在Alister Scott 的博客中找到了如何等到元素更改为特定值。但是我无法解决如何创建等待元素等到其文本从特定值(在我的情况下从'-')更改为其他任何值(在我的情况下它是一个计数器,所以我不能设置具体值等待)。

有任何想法吗?

4

2 回答 2

2

如果你是 Promises 的新手,可能会有点困惑......

driver.wait(function () {
    return driver.findElement(By.id('idYouWant')).getText().then(function (text) {
        return text === 'Done';
    });
}, timeout);

这段代码监视具有给定 ID 的动态变化元素的文本。

注意 2 返回并记住超时以毫秒为单位。

于 2016-05-07T18:12:36.810 回答
1

您可以在更改之前保存现有值,之后您可以为方法提供自己的期望函数wait。当值与旧值不同时,您的函数应返回 true。

var oldValue = ...;
driver.wait(function(){
    var newValue = ...;
    return newValue != oldValue;
}, timeout);
于 2016-03-21T20:05:51.387 回答