内部findByXpath忽略先前的选择

时间:2018-08-21 15:37:51

标签: xpath intern leadfoot

我遇到findByXpath的问题时忽略了先前的选择(使用findXxxxxXxxx命令完成的选择)。

我的Page对象看起来像这样

class DeleteModalUiComponent {

      constructor(private remote: Remote) { }

      getComponentContainer() {
          return this.remote.findDisplayedByCssSelector('.delete-modal');
      }

      clickModalBotton(text: string) {
          return this.getComponentContainer()
              .findByXpath(`//button//*[contains(text(),'${text}')]`)
              .then(elem => elem.click())
              .waitForDeletedByCssSelector('.delete-modal');
     }
}

我想根据容器来建立 Xpath 的基础,但是findByXpath忽略了 getComponentContainer()的选择以及从根目录中进行选择。

>

API在先行者中指出以下内容:

  

findByXpath

     

获取此元素内与给定XPath匹配的第一个元素   选择器。

但是在 Xpath 中使用//前缀会忽略this element

1 个答案:

答案 0 :(得分:1)

Xpath中的//前缀将忽略当前上下文元素,因为//明确表示“从文档根目录搜索”。要在当前上下文元素中搜索,请使用.//