Javascript 这个click()如何从内容脚本内部工作?

Javascript 这个click()如何从内容脚本内部工作?,javascript,html,google-chrome,google-chrome-extension,Javascript,Html,Google Chrome,Google Chrome Extension,我正在做一个扩展,在验证码被破解后点击网站上的提交按钮。我使用aria checked属性获得了captcha值,但是当单击时,我收到以下错误:“uncaughttypeerror:cannotreadproperty'click'of undefined” 当我将此代码提交到控制台时,它可以工作: document.getElementsByClassName("button")[0].click(); 当我将上面的代码直接放在内容脚本中或函数中,然后调用它时,它也会单击

我正在做一个扩展,在验证码被破解后点击网站上的提交按钮。我使用aria checked属性获得了captcha值,但是当单击时,我收到以下错误:“uncaughttypeerror:cannotreadproperty'click'of undefined”

当我将此代码提交到控制台时,它可以工作:

document.getElementsByClassName("button")[0].click();
当我将上面的代码直接放在内容脚本中或函数中,然后调用它时,它也会单击!当我尝试单击()时出现问题;使用条件语句

setInterval(函数检查器(){
if(document.getElementById(“recaptcha锚”)){
checado=document.getElementById(“recaptcha锚”).getAttribute(“aria-checked”);
如果(checado!=“false”){
document.getElementsByCassName(“按钮”)[0]。单击();
}否则{
控制台日志(“非火灾”);
}
}
}, 1000);

欢迎!您是否尝试过将
document.getElementsByCassName(“按钮”)[0]
完全声明在此函数之外,然后只调用
。单击其中的()?例如,在这个
setInterval
函数之外,您可以尝试
var submitButton=document.getElementsByCassName(“按钮”)[0]
,然后在条件中,
if(checado!=“false”){submitButton.click()}
Hi!非常感谢您的回答,我试过了,但不幸地得到了相同的错误,“无法读取未定义的属性单击”您的回答有道理,但javascript很奇怪,错误仍然发生在click()部分,声明通过了fine@sergioagustotech呵呵,这很有趣……如果声明进行得很顺利,我想知道为什么调用
click()
时,它被认为是未定义的。如果在变量声明之后直接执行
console.log(submitButton)
,那么让我们看看会发生什么?我也认为,它会打印“undefined”。但如果直接在下面写“document.getElementByClassName(“按钮”)[0]。单击();”。它单击submit按钮,页面将重新加载