量角器:相对于元素的路径
Protractor: path relative from the element
我想写这样的东西:
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 = element(by.Name('Component_name'));
我做错了什么?
我想这是因为 xpath 定位器的选择器。当您使用以 //
开头的表达式时,它会查找页面上的任何元素,即使您将它与父元素一起使用也是如此。 xpath locator:
的文档中有关于它的注释
For example, given the selector "//div", WebDriver will search from
the document root regardless of whether the locator was used with a
WebElement.
可以通过在双斜杠前加一个点来修复:.//div/div/a
,这应该相对于父元素进行搜索。
查看 xpath spec,了解更多信息。
我想写这样的东西:
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 = element(by.Name('Component_name'));
我做错了什么?
我想这是因为 xpath 定位器的选择器。当您使用以 //
开头的表达式时,它会查找页面上的任何元素,即使您将它与父元素一起使用也是如此。 xpath locator:
For example, given the selector "//div", WebDriver will search from the document root regardless of whether the locator was used with a WebElement.
可以通过在双斜杠前加一个点来修复:.//div/div/a
,这应该相对于父元素进行搜索。
查看 xpath spec,了解更多信息。