通过上课单击所有元素

时间:2019-10-05 13:34:44

标签: javascript jquery

我单击了无数与我的问题类似的stackoverflow链接,但是没有一个答案对我有用。

https://soundoftext.com/ 这个网站。我试图通过按每个单独的下载按钮来一次下载多个音频。尝试在Chrome控制台中执行此操作。

$( ".card__actions a:contains('Download')" ).each(function( index ) {
  $(this).click();
});

^这似乎返回一个数组。 r.fn.init(X)...

buttons = document.getElementsByClassName('card__action');

 for(var i = 0; i < buttons.length; i++)  
     buttons[i].click();

^我也尝试过此操作,但随后它只想按最后一个card__action元素。

这可能是非常愚蠢且显而易见的,但我无法终生解决。 halp

2 个答案:

答案 0 :(得分:0)

此处是文字声音的创建者。我想你可能已经给我发电子邮件了? ?

无论如何,以下是适用于我的Chrome浏览器中的javascript。它将为每个mp3文件打开一个新标签:

$('.sounds.grid').querySelectorAll('a[download]').forEach(a => window.open(a.href))

答案 1 :(得分:-1)

尝试创建新链接并单击它们

buttons = document.getElementsByClassName('card__action')
function downloadURI(uri, name) 
{
    var link = document.createElement("a")
    link.download = name
    link.href = uri
    setTimeout(()=>{
        link.click()
    },50)
}

for (let i=0;i<buttons.length; i++) {
if (buttons[i].textContent=='Download')
    setTimeout(()=>{
        console.log(`dispatched, ${i}, ${buttons[i].href}`)
        downloadURI(buttons[i].href,buttons[i].href)
    },(i+1)*450)
}