寻找一个不存在的元素

时间:2016-07-08 18:56:46

标签: automation webdriver protractor

我正在尝试在条件中寻找缺少元素,如果元素不在那里则会采用两个不同的路径。然而,我得到的是“找不到元素”,这是我需要的,但我需要解决这个问题。这是我尝试过的:

if (HomeScreen.tabs.propertiesTab.isPresent()) {
  HomeScreen.tabs.propertiesTab.click();
} else {
  HomeScreen.tabs.allTabsTab.click().then(function() {
    HomeScreen.allTabs.properties.click();
  })
}

HomeScreen.tabs.propertiesTab.isPresent().toBeFalsy().then(function(isVisible) {
  if (isVisible) {
    HomeScreen.tabs.propertiesTab.click();
  } else {
    HomeScreen.tabs.allTabsTab.click().then(function() {
      HomeScreen.allTabs.properties.click();
    });

  }
});

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

尝试使用then()明确解决承诺:

browser.isElementPresent(HomeScreen.tabs.propertiesTab).then(function (isPresent) {
    if (isPresent) {
        // ...
    } else {
        // ...
    }
});

在此处使用browser.isElementPresent(),但它也可以与.isPresent()一起使用: