2014-02-09 74 views
-1

我正在写一个扩展名为chrome的密码,并自动输入密码。这是我现在的代码。但是,它似乎无法找到密码类型。我做错了什么,伙计?Chrome扩展替换<input>类型

window.addEventListener("load", get_passwords, false); 
function get_passwords() { 
    var node_list = document.getElementsByTagName('input'); 
    var textboxes = []; 
    for (var i = 0; i < node_list.length; i++) { 
     var node = node_list[i]; 
     if (node.getAttribute('type') == 'password') { 
      textboxes.push(node); 
     } 
    } 
console.log(textboxes); 
} 

回答

0

的问题是,您试图访问在几个地方值,其中它不是做正确的事情

var node_list = document.getElementsByTagName('input').value; 

应该

var node_list = document.getElementsByTagName('input'); 

您的警报也有同样的问题。

Here is a fiddle of the code I wrote to get this working.使用您的调试工具,问题就变得非常明显

+0

好吧,我明白了。但是如果我使用alert而不是console.log,我仍然会得到[HTMLInputElement]。我没有得到我如何去并在那里插入一个值。男人,这很复杂。 – user3290485

+0

如果发现多个盒子和其他东西,但基本上将日志更改为文本框,则需要使其更加健壮以应对[0] .value =“MyPassword”http://jsfiddle.net/vnLBQ/3/您似乎缺乏对正在修改的对象的一些基本理解。如果你明白这一点,那么你应该尝试更好地理解这些步骤,因为该步骤是合理的。 –