gpt4 book ai didi

javascript - 打开一个选项卡并运行脚本

转载 作者:行者123 更新时间:2023-12-04 15:25:52 27 4
gpt4 key购买 nike

以下不起作用:

window.open(‘javascript:{do something here}’)

一些安全错误并要求在此处输入不安全的内联关键字输入代码

我需要打开一个新窗口并导航到一个 url 并找到一个按钮并单击它。

我所有的都是 url(数百个 em)我正在循环并为每个 url 使用 promises。问题是脚本不起作用,因为在单击链接时页面会重新加载。因此,它需要在新选项卡中打开,然后我可以在打开链接时运行脚本(点击按钮下载)。

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,它有下载问题。任何建议表示赞赏。

谢谢

最佳答案

出于安全原因,浏览器会隔离在不同来源(来源是协议(protocol)、域和端口的组合)上运行的 JavaScript 代码。虽然您可以在不同来源打开页面(通过重定向、打开新窗口或在当前页面上添加框架),但您不能直接与其交互。因此,一个页面上的代码不可能打开另一个页面并单击该页面上的按钮。

在浏览器中解决这个问题的唯一方法是编写浏览器扩展或用户脚本。浏览器扩展和用户脚本都具有更高的权限,可以与不受其控制的页面进行交互,但它们需要安装在浏览器中,并且访问站点需要得到用户的批准(通常在安装过程中)。

关于javascript - 打开一个选项卡并运行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62250402/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com