单击单选按钮的代码在我的Protractor脚本中第二次不起作用

时间:2017-05-25 04:01:56

标签: protractor

我正在调用一个函数两次来执行我的量角器脚本中的一段代码。第二次调用时失败的函数代码快照如下。 sessionNo是传递给此函数的参数。它可以是0或1.根据此参数的值,将选择索引为0的单选按钮,或者选择索引为1的单选按钮。

function sessionBegin(sessionNo)
{
    element.all(by.repeater('type in types')).all(by.css ("input[type='radio']")).isPresent(). then(function()
    {
        var sessionType = element.all(by.repeater('type in types')).all(by.css ("input[type='radio']")).get(sessionNo);
        sessionType.click();                                             
    });
}

第一次调用此函数时,此代码非常有用。但是当第二次使用sessionNo的不同值调用它时,它会失败并且"失败:元素不可见"错误。我无法弄清楚为什么上面的代码第二次无法找到相同的元素,就像它第一次使用完全相同的代码一样。

1 个答案:

答案 0 :(得分:0)

这取决于您的应用程序代码,可能是您的元素在找到它和单击操作之间变得不可见,或者它还不可见。对于第一种情况,您应该调查应用程序端发生的情况,对于第二种情况(如果它还不可见),您可以等到它变得可见,例如:browser.wait(EC.visibilityOf(element),5000,{{ 1}}); 它将等待元素5秒。

相关问题