量角器:相对于元素的路径

时间:2015-08-17 13:20:23

标签: angularjs xpath protractor angularjs-e2e

我想写一些类似的东西:

return component.element(by.xpath('//div/div/a')); // I want: path to component + xpath

但我的结果总是如此:

return element(by.xpath('//div/div/a'));   // I always have: just xpath

Component是在我自己的定位器中找到的元素:

component = element(by.Name('Component_name'));

我做错了什么?

1 个答案:

答案 0 :(得分:2)

我想这是因为xpath定位器的选择器。当您使用以//开头的表达式时,它将在页面上查找任何元素,即使您将其与父元素一起使用也是如此。 xpath locator的文档中有关于它的说明:

  

例如,给定选择器" // div",WebDriver将从中搜索   无论定位器是否与a一起使用,文档根目录   WebElement。

可以通过在双斜线前加一个点来修复它:.//div/div/a,它应该相对于父元素进行搜索。

查看xpath spec,了解更多信息。