加载后自动登录网站-用户脚本(JS)
Automatically log in to website upon load - user script (JS)
我正在编写一个用于学习的用户脚本,该脚本会自动将我登录到我的学校网站。我在JavaScript方面进行了一次尝试,我希望它能走上正轨。有人能帮我把它编辑成预期的效果吗(而不是完全不编辑)。我有Java和Python编程经验,但我对web编程非常陌生。谢谢
我正在使用以下代码的TamperMonkey
// ==UserScript==
// @name MyMCLogin
// @namespace http://use.i.E.your.homepage/
// @version 0.1
// @description Automatic login to My MC
// @match https://mymcprod.montgomerycollege.edu/cp/home/displaylogin
// @copyright SJL 2015
// ==/UserScript==
document.getElementsByName('user')[0].value = "username";
document.getElementsByName('pass')[0].value = "password";
imageSubmit();
本质上,我想找到用户名的变量和密码的变量,用我的用户名和密码替换它们,然后提交
感谢您的帮助:)
编辑:我修复了一个语法错误。剩下的唯一问题是它没有提交用户名和密码
编辑2:我尝试了以下操作,但没有成功:
在检查了提交按钮后,我注意到有一个函数login()在按下时出现。我能以某种方式使用这个功能吗?
document.cplogin.submit();
document.userid.submit();
document.userid.login();
好吧,所以我开始工作了!!我从login()函数的html源代码中复制了代码。
setQueryAsCookie();
document.cplogin.user.value=document.userid.user.value;
if ( document.cplogin.uuid )
{
document.cplogin.uuid.value=(new Date()).getTime() - clientServerDelta;
}
这是一个非常不雄辩的解决方案:p。我将继续尝试你们为学习目的提出的各种建议。
非常感谢大家:)
决赛?代码:
// ==UserScript==
// @name MyMCLogin
// @namespace http://use.i.E.your.homepage/
// @version 0.1
// @description Automatic login to My MC
// @match https://mymcprod.montgomerycollege.edu/cp/home/displaylogin
// @copyright SJL 2015
// ==/UserScript==
document.getElementsByName('user')[0].value = "username";
document.getElementsByName('pass')[0].value = "password";
setQueryAsCookie();
document.cplogin.user.value=document.userid.user.value;
if ( document.cplogin.uuid )
{
document.cplogin.uuid.value=(new Date()).getTime() - clientServerDelta;
}
您需要找到表单标记,以便对其调用submit()。但您不想自动提交所有表单,所以请检查表单的属性,如ID和action,看看它们是否包含单词"login"。这将是特定于您想要登录的页面,查看源代码并找到该表单的独特之处
然后,您可以像现在一样找到用户并传递,但您需要查看源代码,以确保名称属性与您在JS中搜索的内容相匹配。
我怀疑你最终可能会试图在每个页面上提交这个,并一直试图自动重新登录。我不知道tampermonkey是否一直将您的代码保存在内存中,但如果确实如此,请考虑设置一个变量来跟踪您是否已经登录。
//pseudo code
var formList = document.getElementsByTag('form');
var loginForm;
for (form in formList) {
if (form.getAttribute('action').indexOf('login')) {
loginForm = form;
}
}
if (loginForm) {
//set username and password;
form.submit();
}
相关文章:
- 从远程脚本获取用户IP
- 将jQuery转换为用户脚本的普通Javascript时遇到问题
- 如何使用Node.js脚本从Rally获取用户的修订历史
- 如何在页面一侧的浮动框中显示用户脚本的输出
- 阻止用户将脚本输入wordpress post
- 何时可以;我的用户脚本在Javascript中触发右键单击(上下文菜单)
- 如何通过脚本访问用户控制值
- 如何只重新加载用户脚本,即不重新加载页面
- 如何防止用户使用浏览器选项禁用脚本
- 打开图形:Java脚本:必须使用活动访问令牌来查询有关当前用户的信息
- 如何在边缘脚本完成后将用户定向到新页面
- Chrome/Tampermonkey 用户脚本存储在文件系统上的什么位置
- 如何通过 html 正文中的脚本区分用户操作和操作
- 如何向登录用户隐藏选择加入脚本
- 一个用户脚本的两个实例如何在帧之间进行通信
- 如何让你的用户脚本处理那些没有'还不存在
- 用户控制(.ascx)和java脚本函数
- 从用户脚本空间重新定义Firefox中的原生浏览器功能
- 如果用户登录不起作用,则运行脚本
- java 脚本用户定义 $ 函数,如 jquery