Protractor 4 : how to locate a parent at 'n' level above by class

标签 protractor

例如使用以下 html:

<div class='parent'>
  <p>
    <span class='child'></span>
  </p>
</div>

要从 .child 中找到 .parent,我正在尝试类似的方法:

let child = element(by.css('.child'));
let parent = child.element(by.xpath('../..')); // not working
let parent = child.element(by.xpath('ancestor::.parent')); // not working

实现该目标的最佳方法是什么?

最佳答案

您提到了不正确的定位器组合。这是在 xpath 表达式中包含的 css 值 '.parent'。正确的做法是:

   let parent = child.element(by.xpath('ancestor::div')); 
OR 
   let parent = child.element(by.xpath('ancestor::div[1]'));  

关于 Protractor 4 : how to locate a parent at 'n' level above by class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40281189/

相关文章:

angularjs - Focus Protractor/Webdriver 浏览器测试窗口

javascript - Protractor : Issue with using executescript to execute javascript on an element

protractor - waitForAngularEnabled如何工作?

angularjs - 单击 ng-repeat 内的按钮

javascript - Protractor 和执行顺序

selenium - 有没有办法关闭 WebDriver 或 Protractor 中的选项卡?

javascript - 如何使 Protractor 中的自动化测试脚本等待,直到页面完全加载

angularjs - 运行 Protractor 时出现“Runtime.executionContextCreated has invalid '上下文错误

javascript - ngHint 插件无法运行,因为 ngHint 代码从未包含在页面中

angularjs - 使用 Protractor 查找所有可见元素