Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.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
Javascript 从量角器中的制表符获取元素_Javascript_Selenium_Protractor - Fatal编程技术网

Javascript 从量角器中的制表符获取元素

Javascript 从量角器中的制表符获取元素,javascript,selenium,protractor,Javascript,Selenium,Protractor,::之前 公寓楼 如何从量角器的制表符中找到上述第一个元素?? Tab有15个元素,上面的这个是Tab的第一个元素。我想点击这个元素,不管是哪一个 <div class="tab-pane active" ng-repeat="tab in tabset.tabs" ng-class="{active: tabset.active === tab.index}" uib-tab-content-transclude="tab" s


::之前 公寓楼

如何从量角器的制表符中找到上述第一个元素?? Tab有15个元素,上面的这个是Tab的第一个元素。我想点击这个元素,不管是哪一个

<div class="tab-pane active" 
           ng-repeat="tab in tabset.tabs" 
              ng-class="{active: tabset.active === tab.index}" uib-tab-content-transclude="tab" style>

伙计,您可以使用XPath,并以查看HTML文档的方式进行讨论,这需要更多的工作,但有时这是唯一的方法

FindElement(By.XPath(//tagname//tagname[@atrinbuto: value]));

如果我答对了问题,你可以用这个来找到你想要的元素,但不完全确定,但在我看来这应该是你的首选

量角器代码应如下所示:

element(by.cssContainingText('div.tab p', ' Apartment block ')).click();
更新

因为有一个click阻塞元素(可能只有在页面加载时才有),所以量角器首先需要等待该元素消失

因此,似乎需要使用

var EC = protractor.ExpectedConditions;
browser.wait(EC.invisibilityOf($('div.click-block')),5000);
element(by.cssContainingText('div.tab p', ' Apartment block ')).click();

我有错误消息:失败:未知错误:元素。

在点(56304)处不可单击。其他元素会收到点击:听起来没那么糟糕。它标识了元素,但有一个覆盖元素
。该元素听起来像一个加载阻止程序。。。我会用“等待元素消失”来更新答案。@Lelik_:很高兴我能帮上忙!请别客气,把我的答案记为正确答案。
var EC = protractor.ExpectedConditions;
browser.wait(EC.invisibilityOf($('div.click-block')),5000);
element(by.cssContainingText('div.tab p', ' Apartment block ')).click();