自动表格填充防故障

时间:2014-02-14 20:35:09

标签: javascript google-chrome-extension

所以,对于一个项目,我决定建立自己的密码管理器。我构建了一个简单的html页面和一个chrome扩展。他们一起工作以执行重定向,然后填写表单。这适用于大多数网站。但是,仍有一些怪癖。例如,在iCloud.com上,它看起来像这样:https://www.dropbox.com/s/hwjxnb8igz1v8oy/Screenshot%202014-02-14%2021.29.46.png

我的问题是:我怎样才能让它更可靠?

下面是我的代码,它查找类型文本并输入密码,然后按下提交按钮。

var username = request.username;
var password = request.password;
var node_list = document.getElementsByTagName('input');
var user_list = document.getElementsByTagName('input');
var submit_list = document.getElementsByTagName('button');
var textboxes = [];
var textboxxes = [];
var buttons = [];
for (var i = 0; i < node_list.length; i++) {
    var node = node_list[i];
    if (node.getAttribute('type') == 'password') {
        textboxes.push(node);
    }
} 
textboxes[0].value = password;
for (var i = 0; i < user_list.length; i++) {
    var user = user_list[i];
    if (user.getAttribute('type') == 'text') {
        textboxxes.push(user);
    }
} 
textboxxes[0].value = username;
for (var i = 0; i < submit_list.length; i++) {
    var submit = submit_list[i];
    if (submit.getAttribute('type') == 'submit') {
        buttons.push(submit);
    }
    else if (submit.getAttribute('role') == 'button') {
        buttons.push(submit);
    }
   } 

buttons[0].click();
}

0 个答案:

没有答案