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();