Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Protractor 如何查找量角器叔叔/表亲元素_Protractor - Fatal编程技术网

Protractor 如何查找量角器叔叔/表亲元素

Protractor 如何查找量角器叔叔/表亲元素,protractor,Protractor,我有以下HTML,其中有几个元素与此相等。我需要在量角器中找到此唯一元素的方法(cssContainingText与“.list group item heading”“Analog output”一起使用此元素,因为它对于此项目是唯一的),然后向上导航到祖父母(“.ba object item”),这样我就可以找到叔叔(“.ba value”)以验证它是否显示1% 我还需要最终获得一个表亲元素('.marengo physical output'),以确定显示的图标是否正确 在这种情况下,遍历

我有以下HTML,其中有几个元素与此相等。我需要在量角器中找到此唯一元素的方法(cssContainingText与“.list group item heading”“Analog output”一起使用此元素,因为它对于此项目是唯一的),然后向上导航到祖父母(“.ba object item”),这样我就可以找到叔叔(“.ba value”)以验证它是否显示1%

我还需要最终获得一个表亲元素('.marengo physical output'),以确定显示的图标是否正确

在这种情况下,遍历DOM的最佳方法是什么

<div class="ba-object-item">
  <div class="ba-text">
    <h5 class="list-group-item-heading text-primary">Analog output</h5>
    <span class="list-group-item-text">%R%'AO</span>
  </div>
  <div class="ba-value text-primary">1 %</div>
  <div class="ba-icon">
    <i class="icon icon-large marengo-physical-output" ng-reflect-klass="icon icon-large" ng-reflect-ng-class="marengo-physical-output"></i>
  </div>

模拟输出
%R%AO
1%

您的问题的关键是解决如何定位
,您可以尝试找到一个
DIV
,其中包括
H5
,并且
H5
的文本是XPath的
模拟输出,如下所示:

var baItem = element(
            by.xpath('//div[@class="ba-object-item"][./div/h5[text()="Analog output"]]'));

// or
var baItem = element(
            by.xpath('//div[@class="ba-object-item"][.//h5[text()="Analog output"]]'));

var baValue = baItem.element(by.css('div.ba-value'));

var baIcon = baItem.element(by.css('i.marengo-physical-output'))

它与
量角器
无关。它是关于
css
xPath
的。 你可以找到很多有用的信息