Javascript 当类更改时,特定id的量角器中的Browser.wait()
需要为特定元素实现browser.wait()。需要一些帮助来完成这件事 场景->单击过滤器div,将显示隐藏的div。需要等待,直到它是可见的 单击前-Javascript 当类更改时,特定id的量角器中的Browser.wait(),javascript,angularjs,protractor,Javascript,Angularjs,Protractor,需要为特定元素实现browser.wait()。需要一些帮助来完成这件事 场景->单击过滤器div,将显示隐藏的div。需要等待,直到它是可见的 单击前- <div id = "collapseGenericFilter" class="pannel-collapse collapse"> 是这样吗? 如果我找到dom元素,首先是ID,然后是类,比如元素('GenericFilter')。然后是.css('panel-collapse-in'),等等,我会很高兴的。 注意:-我对网
<div id = "collapseGenericFilter" class="pannel-collapse collapse">
是这样吗?
如果我找到dom元素,首先是ID,然后是类,比如元素('GenericFilter')。然后是.css('panel-collapse-in'),等等,我会很高兴的。
注意:-我对网络技术非常陌生,所以如果这是一个愚蠢的问题,请忽略它,我仍在学习
提前谢谢
链函数不适用于同一元素。它被设计成
父子元素。例如,div1有另一个类名为div2的div。对于这个场景,我们可以使用chain function->>browser.element(by.id('div1)).element(by.css('.div2'))
对于您的解决方案,我们可以先按id检查元素,然后按其类属性检查元素
<div id="collapseGenericFilter" class="pannel-collapse collapse in">
browser.wait(() => element(by.css('.panel-collapse.collapse.in')).isPresent(),
500,
'long wait');
//first click on element
var genericFilter = browser.element(by.id('collapseGenericFilter'));
genericFilter.click();
//It will wait for generic filter until it has exact class name
browser.driver.wait(function(){
genericFilter.getAttribute('class').then(function(className){
return className.indexOf('pannel-collapse collapse in') !== -1;
},50000, 'Element not present ');
},50000);