Я новичок в анализе утяжителей углов. В принципе, я хочу установить флажок, если он не установлен. С помощью следующего кода я получаю сообщение об ошибке, как в названии «TypeError: Не удается прочитать свойство„нажмите кнопку“неопределенных»Ошибка уклонителя --- ТипError: Невозможно прочитать свойство 'click' of undefined
var PageObject = function() {
this.hidePanelHeaderCb = element(by.id("hidePanelHeader"));
this.checkHidePanelHeaderCb = function() {
this.hidePanelHeaderCb.isSelected().then(function (selected) {
if(selected !== true) {
(this.hidePanelHeaderCb).click();
}
});
};
};
module.exports = PageObject;
на веб-странице фрагмент, который я получил с правой кнопкой мыши -> проверьте это:
<span id="hidePanelHeader" ng-class="{'icon-CheckBoxSelected': panelProperties.hidePanelHeader, 'icon-CheckBoxUnselected': !panelProperties.hidePanelHeader}" ng-click="switchHidePanelHeader()" role="button" tabindex="0" class="icon-CheckBoxSelected" style=""></span>
Я пробовал использовать isChecked(), и это дает другую ошибку.
Я позвонил с помощью панелиPropertiesPageObject.checkHidePanelHeaderCb();
Все остальные функции, использующие этот код, работают нормально. Его код, который я добавил, который не работает. Поэтому использование «документа» вместо «этого», вероятно, не является причиной.
Похоже, что вы не получили элемент DOM правильно. Попробуйте найти элемент document.getElementById («hidePanelHeader») –
@SandeepSharma Щелчок достаточно глубокий, это больше похоже на ответ Константина, что контекст 'this' уже не тот, которого он ожидает – Icepickle
Да, здесь это также связано с вызовом context: - не привязаны к внешнему глобальному. –