我正在尝试创建自动登录网站(http://gamers.ba/)的脚本,但我无法在表单中插入用户名和密码。我试过这段代码:
javascript:document.forms['cssforms'].elements[username].value = MyUsername;
但实际上没有任何事情......
我也试过这段代码:
javascript:document.getElementById('username').value = 'MyUsername';
然后我得到了一个新的空白页面" MyUsername"左上角的文字......
当我在Chrome中检查该元素时,这是代码的一部分:
<form method="post" action="" class="cssform">
<div class="control-group">
<label for="username">Username</label>
<input style="width:355px;" type="text" name="username" id="username" value="">
有什么想法吗?
提前致谢!
答案 0 :(得分:1)
这对我来说是http://gamers.ba/的书签
javascript:(function(){document.getElementById('username').value='MyUsername';document.getElementById('password').value='MyPassword';document.forms.loginForma.submit.click();})();
展开:
javascript:(function(){
document.getElementById('username').value='MyUsername';
document.getElementById('password').value='MyPassword';
document.forms.loginForma.submit.click();
})();
显然取代了我的用户名&#39;和&#39; MyPassword&#39;使用您的用户名和密码
答案 1 :(得分:0)
表单需要id
或name
才能被引用。 username
是脚本中的变量,您需要使用字符串文字或dot notation。
要按类名选择表单,请使用document.querySelector
:
document.querySelector("form.cssform").elements.username.value = Myusername;
如果您想选择隐藏的表单(<form class="formLoginTop" name="loginForma" action="/q/user/login" method="post">
),那么您仍然可以使用
document.forms.loginForma.elements.username.value = Myusername;
但您只需访问输入元素by its id:
document.getElementById("username").value = Myusername;
(这不适用于http://gamers.ba/q/user/login,因为该页面中有两个元素,标识为username
答案 2 :(得分:0)
这应该这样做:
var MyUsername = 'markzuck';
document.getElementById('username').value = MyUsername;
查看演示here。
此外,我强烈建议您开始使用jQuery。它使编码更简单,更快。
答案 3 :(得分:0)
这个失败了:
document.forms ['cssforms']。elements [username] .value = MyUsername;
由于
[username]
是一个未定义的变量。您的第二个失败是因为您没有取消默认操作。我假设您正在使用书签。您可以使用void()或将其包装在函数
中javascript:(function(){ document.getElementById('username').value = 'MyUsername'; })();