Firefox扩展:如何填充输入文本字段

Rac*_*oon 1 javascript firefox dom toolbar firefox-addon

我有一个根据教程创建的自定义工具栏按钮。该按钮的javascript代码如下:

CustomButton = {

1: function () {
  alert("Just testing") 
  },

}
Run Code Online (Sandbox Code Playgroud)

而且有效。当我单击此按钮时,会发生警报。我正在尝试进行一些更改,即单击此按钮时填写输入字段,但是这段代码不起作用:

CustomButton = {

1: function () {
  document.getElementById("loginUserName").value = "aaaa";  
  },

}
Run Code Online (Sandbox Code Playgroud)

页面上存在ID为“ loginUserName”的元素。我可以用Selenium WebDriver轻松填充它:

driver.findElement(By.id("loginUserName")).sendKeys(User). 
Run Code Online (Sandbox Code Playgroud)

所以我的问题是为什么它在Firefox扩展中不起作用?

谢谢浣熊

paa*_*paa 5

工具栏按钮和输入字段(假设后者是网页的一部分)位于单独的文档中。但是跨界很容易。将您的代码更改为

gBrowser.contentDocument.getElementById("loginUserName").value = "aaaa";
Run Code Online (Sandbox Code Playgroud)