Javascript 另一个greasemonkey登录脚本

Javascript 另一个greasemonkey登录脚本,javascript,html,greasemonkey,autologin,Javascript,Html,Greasemonkey,Autologin,在我第一次尝试编写greasemonkey脚本时,我决定尝试创建一个autologin脚本 我正在尝试登录的页面已构建为 <input class="form-control" type="text" data-reactid=".0.0.1:$0.1.1:$input" placeholder="Username"></input> </div> <div class="form-group" data-reactid=".0.0.1:$0.2">

在我第一次尝试编写greasemonkey脚本时,我决定尝试创建一个autologin脚本

我正在尝试登录的页面已构建为

<input class="form-control" type="text" data-reactid=".0.0.1:$0.1.1:$input" placeholder="Username"></input>
</div>
<div class="form-group" data-reactid=".0.0.1:$0.2">
<input class="form-control" type="password" data-reactid=".0.0.1:$0.2.1:$input" placeholder="Password"></input>
</div>
<button class="btn-block btn btn-lg" data-reactid=".0.0.1:$0.3" type="button" disabled="">

…但这似乎并没有实际将数据推送到用户名/密码字段中。我添加了一些警告语句来逐步执行,当我第一次使用document.getElementByTagName时,它看起来就消失了。您可能想使用
getElementsByTagName
getElementsByTagName
——请注意,“元素”在这些函数名中是复数

话虽如此,我认为属性选择器不适用于
getElementsByTagName
。您可以编写自己的函数来实现类似的目标(如中),但使用它可能会更好


请注意,
document.querySelector
返回与查询匹配的第一个结果-确保只有一个结果与之匹配。

您可能是指
getElement*s*ByTagName
getElement*s*ByClassName
var name = "foo";
var pass = "bar";
document.getElementByTagName ([placeholder="Username"]).value = name;
document.getElementByTagName ([placeholder="Password"]).value = pass;
var evt = document.createEvent ("HTMLEvents");
evt.initEvent ("click", true, true);
document.getElementByClassName('btn-block btn btn-lg btn-primary').dispatchEvent (evt);
var name = "foo";
var pass = "bar";
document.querySelector('[placeholder="Username"]').value = name;
document.querySelector('[placeholder="Password"]').value = pass;
var evt = document.createEvent("HTMLEvents");
evt.initEvent("click", true, true);
document.querySelector('.btn-block, .btn, .btn-lg, .btn-primary').dispatchEvent(evt);