所以,对于一个项目,我决定建立自己的密码管理器。我构建了一个简单的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();
}