gpt4 book ai didi

javascript - executescript chrome 扩展无法正确执行

转载 作者:行者123 更新时间:2023-12-03 03:21:10 25 4
gpt4 key购买 nike

我正在尝试将值放入新选项卡上的元素中,然后单击“提交”登录。我尝试了很多变体,但似乎无法让它发挥作用。

function injectScript(){
var script = ' var e = document.getElementById("email"); var p = document.getElementById("password");'+
'e.value ="'+currentEmployee.email+'"; p.value = "'+currentEmployee.password+'";'+
'var osbut = document.getElementById("osLoginButton"); osbut.submit();';

chrome.tabs.create({ url: "https://www.example.com" });

chrome.tabs.executeScript({
code: script, runAt :"document_start" // i have tried document_idle and document_end too
});
//https://developer.chrome.com/extensions/tabs#method-executeScript

}//end func

这是我要提交的按钮的样子

<button type="submit" id="osLoginButton" class="btn btn-block" 
ng-disabled="!user.email || !user.password || loggingIn"
style="background:#6f5092; color:white; width:75%;
display:block; margin-right:auto; margin-left:auto; margin-top:2rem;"><span>
&nbsp;&nbsp;</span><span class="glyphicon glyphicon-log-in pull-left"></span>Sign me in</button>

这是我在控制台的新选项卡上遇到的错误

Unchecked runtime.lastError while running tabs.executeScript: Cannot access a chrome:// URL
at injectScript (chrome-extension://ihekknfdfleelcebfjflficdnebfadlc/popup.js:188:15)
at empLogin (chrome-extension://ihekknfdfleelcebfjflficdnebfadlc/popup.js:177:1)
at HTMLAnchorElement.<anonymous> (chrome-extension://ihekknfdfleelcebfjflficdnebfadlc/popup.js:160:42)

error in extension

脚本是否有可能针对扩展程序?新标签页运行的是 angular1。我不确定 ng-disabled 是否会影响它,因为 Angular 改变需要时间,并且脚本因此失败。我也无法测试这一点,因为扩展中没有 setTimeouts。尽管我确实尝试在执行的脚本中发送 setTimeout() ,但没有任何效果。我很茫然。不,我无法更改新选项卡页面上的按钮。感谢您提前提供的帮助。

最佳答案

大多数 Chrome 扩展 API 都是异步的,您需要等待选项卡创建的回调。

chrome.tabs.create({
网址:'https://www.example.com'
},函数(选项卡){
chrome.tabs.executeScript(tab.id, {
code: '要注入(inject)的代码...'
});
});

关于javascript - executescript chrome 扩展无法正确执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46570127/

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