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

CustomButton = {

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

}


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

CustomButton = {

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

}


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

driver.findElement(By.id("loginUserName")).sendKeys(User).


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

谢谢,
浣熊

最佳答案

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

gBrowser.contentDocument.getElementById("loginUserName").value = "aaaa";

10-05 18:38