gpt4 book ai didi

javascript - 当类更改时, Protractor 中的 Browser.wait() 特定 id

转载 作者:行者123 更新时间:2023-12-03 04:27:49 27 4
gpt4 key购买 nike

需要为特定元素实现 browser.wait()。需要一些帮助才能完成这项工作。

场景 -> 单击过滤器 div 时,会显示隐藏的 div。需要等到它可见

点击之前 -

<div id = "collapseGenericFilter" class="pannel-collapse collapse">

点击后 -

<div id="collapseGenericFilter" class="pannel-collapse collapse in"> 

有没有办法让 browser.wait 等待 id,直到特定的类选择器可见。

我正在使用

修复此问题
browser.wait(() => element(by.css('.panel-collapse.collapse.in')).isPresent(),
500,
'long wait');

这是对的吗?如果我先通过 ID 找到 dom 元素,然后再通过类找到像这样的 element('GenericFilter').by.css('panel-collapse collapse in') etc. 我会很高兴

注意:- 我对网络技术非常陌生,所以如果这是一个愚蠢的问题,请忽略,我仍在学习。

提前致谢

最佳答案

Chain function doesn't work for same element. It is designed to get parent child element. For example div1 has another div with class name div2. For this scenario we can use chain function ->> browser.element(by.id('div1)).element(by.css('.div2'))

对于您的解决方案,我们可以首先通过 id 检查元素,然后检查其类属性

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

关于javascript - 当类更改时, Protractor 中的 Browser.wait() 特定 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43622772/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com