问题描述
我试图仅使用纯Javascript自动在Instagram上登录。 ( )。
这是输入的样子:
<input class="_2hvTZ pexuQ zyHYP" id="f3276ee98b5533" aria-label="Phone number, username, or email" aria-required="true" autocapitalize="off" autocorrect="off" maxlength="75" name="username" type="text" value="">
<input class="_2hvTZ pexuQ zyHYP" id="f184fc168fd6684" aria-label="Password" aria-required="true" autocapitalize="off" autocorrect="off" name="password" type="password" value="">
为了实现登录,我使用以下代码:
document.getElementsByName('username')[0].value = 'me@myemail.com';
document.getElementsByName('password')[0].value = 'mypassword';
问题是,即使我运行上面的代码,输入也会被填充,但是“登录”按钮将不会启用,输入的占位符也不会消失; 就像输入未填充一样,如下图所示; 我还应该怎么做才能仅使用Javascript登录?
1楼
这很可能会在将来的更新中中断,但是似乎它们的所有代码(至少您需要的代码)都在 。 看来js创建了您感兴趣的登录页面部分,所以我想您可以进行其余工作。
用户名字段
className:f,maxLength:75,name:"username",onChange:this.$SlimLoginForm5,placeholder:h,value:this.state.username}
按钮事件。
onClick:this.$SlimLoginForm6
首先,似乎onChange
事件是启用/禁用按钮的原因,但是您必须传递它的用户名(如果仅触发该事件而不传递任何参数,它将被视为用户名为空,因此登录按钮保持禁用状态) 。
其次, onClick
事件位于该按钮上(尽管如果您查看实际的HTML也会隐藏它。),因此您应该能够通过调用onClick
事件来提交。
我希望您能弄清楚如何将值传递给onChange
事件,因为在那儿我无法真正帮助您...:P
从那里开始应该很简单。
2楼
我猜您正在使用Tampermonkey / Greasemonkey / Scratchpad或类似工具来执行此操作。
当您要自动登录时,为什么还要关心标签(坦率地说,这是Instagram上的惯用语;只使用<input placeholder="text" ...>
)?
只需添加document.forms[0].submit();
...