Internet Explorer的findIndex()方法问题 [英] findIndex() method issue with internet explorer

查看:219
本文介绍了Internet Explorer的findIndex()方法问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 Selenium对不同的浏览器进行一些测试: :Remote :: Driver 模块。

I am doing some tests with differents browsers using the Selenium::Remote::Driver module.

我想查看是否在网站列表中找到了一些项目,列表来自框架JavaScript(创建网格)。对于这种情况,我必须使用 Selenium :: Remote :: Driver 允许的JavaScript代码段。

I would like to check if I find some item in my web site list, list from a framework JavaScript (which creates grids). For this case I have to use JavaScript snippet allowed by Selenium::Remote::Driver.

我写了以下代码

$script = q{

      var paramProgramName = arguments[0];

      var list  = $('#c-list').dxList('instance');
      var items = list.option('items');
      var index = items.findIndex(function(el){ return el.name == paramProgramName; });

      list.selectItem(index);

      return ;
};

$driver->execute_script($script, $programName);

它适用于Chrome和Firefox,但不适用于Internet Explorer,因为 findIndex 方法仅受版本12及以下版本支持。出于某种原因,我必须使用版本11.

It works fine with Chrome and Firefox but not with Internet Explorer because the findIndex method is only supported by version 12 and following. For some reason I have to use version 11.

我可以采用哪种方式从每个浏览器获取索引?

What can I do differently to get an index from every browser?

推荐答案


所以我的问题是我如何以不同方式获取每个浏览器的索引?

So my question is how can i do differently to get my index for every browser ?

您至少有三个选择:


  1. Shim 数组#findIndex ; MDN 有垫片/填充物您可以使用。

  1. Shim Array#findIndex; MDN has a shim/polyfill you can use.

使用IE11具有的其他功能,例如 Array#some (即使IE9也有):

Use something else that IE11 has, such as Array#some (which even IE9 has):

var index = -1;
items.some(function(el, i) {
    if (el.name == paramProgramName) {
        index = i;
        return true;
    }
});


  • 使用IE8所拥有的其他内容,例如 for

    var index = -1;
    for (var i = 0; i < items.length; ++i) {
        if (items[i].name == paramProgramName) {
            index = i;
            break;
        }
    }
    


  • 这篇关于Internet Explorer的findIndex()方法问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

    查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆