Javascript 量角器-在列表中存储链接&;随机点击

Javascript 量角器-在列表中存储链接&;随机点击,javascript,selenium-webdriver,jasmine,protractor,Javascript,Selenium Webdriver,Jasmine,Protractor,我试图把搜索引擎的所有100个结果链接放在一个列表中&然后使用随机数生成器随机点击任何链接 下面是我正在尝试的代码,但它不起作用: for (var iterate=1; iterate<100;){ var randomnumber=Math.floor(Math.random()*4); var i = randomnumber + 1; console.log("Random Number generated for iteration " + itera

我试图把搜索引擎的所有100个结果链接放在一个列表中&然后使用随机数生成器随机点击任何链接

下面是我正在尝试的代码,但它不起作用:

for (var iterate=1; iterate<100;){
    var randomnumber=Math.floor(Math.random()*4); 
    var i = randomnumber + 1; 
    console.log("Random Number generated for iteration " + iterate+ " is: "+i);
    var link=element.all(by.tagName("a"));
    browser.sleep(3000).then(function(){ console.log('Applied sleep for sometime');});
    link.map(function(links){

    return links;

    }).then(function(links){


    links[i].click();
    })

for(var iterate=1;iterate@elRuLL在评论中几乎回答了这个问题。我想为所有未来的谷歌用户详细说明一下

element.all
不返回数组,但返回
ElementArrayFinder
对象,量角器API提供了处理ElementArrayFinder的特殊函数

-

element.all(locator.get(index)
-在 ElementArrayFinder(按索引)


,等等…您必须使用这些特殊方法与element.all()返回进行交互。您使用
element.all.[index]

var link
应该是
var link=element.all(按.tagName(“a”))
已经尝试过@eLRuLL,但没有结果,按照原始脚本编辑了大括号。另外,不要使用
map
而使用
link.get(i)。单击();
ok,这对@eLRuLL有效。但是你想知道为什么map函数在这种情况下失败了吗?这里有什么想法吗?