如何处理/等待仅在页面上进行某些操作后才显示的元素

时间:2019-05-29 14:56:53

标签: javascript jasmine protractor

我有一个要求,我必须等待某些操作(例如单击下拉菜单)出现后的元素。我正在使用量角器和js进行自动化。在执行某些操作之前,我有什么办法可以等待或设置一些条件以显示和启用该元素。

我编写了以下代码,但仍给出错误,因为元素不可交互。但是在这种情况下,睡眠确实有帮助。我有什么办法可以动态地等待吗??

var holidays = moment().holidays();
            var dtp = parent.datetimepicker({
                format: 'MM/DD/YYYY',
                minDate: startDate,
                maxDate: endDate,
                daysOfWeekDisabled: [0,6],
                disabledDates: holidays
            });

1 个答案:

答案 0 :(得分:0)

也许尝试:

// dropDownEl: ElementFinder = $('selector');
browser.wait(EC.visibilityOf(dropDownEL), waitingTime, 'errorMsg');

如:

const dropDownEl: ElementFinder = element(by.className("btn-group tropos-sandbox-filters-container"));
browser.wait(EC.visibilityOf(dropDownEL), waitingTime, 'errorMsg');
dropDownEl.click();
console.log("The dropdown element is present");