【发布时间】:2020-06-08 04:11:37
【问题描述】:
以下不起作用:
window.open(‘javascript:{do something here}’)
一些安全错误并要求在此处输入不安全的内联关键字
我需要打开一个新窗口并导航到一个 url 并找到一个按钮并单击它。
我只有 url(数百个 em)我正在循环并为每个 url 使用 Promise。问题是脚本不起作用,因为单击链接时页面会重新加载。因此它需要在新标签中打开,然后我可以在打开链接时运行脚本(单击按钮下载)。
var lk=[
{
"key": "www.someurl.com",
"value": "somefile"
},
{
"key": "someurl",
"value": "somefilename"
}];
p=Promise.resolve();
for(i=0;i<lk.length;i++){
p=p.then(new Promise(_=>{
var link = document.createElement("a");
link.download = lk[i].value;
link.href = lk[i].key;
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
delete link;
setTimeout(()=>{
_();
},30000);
}));
console.log('Completed '+i);
}
上述脚本停止工作,因为页面在 chrome 控制台中的 link.click() 上重新加载
我试过 puppeteer,它有下载问题。任何建议表示赞赏。
谢谢
【问题讨论】:
-
您要在当前标签还是新标签中运行 javascript?
-
打开新标签时
标签: javascript