每次我必须访问网络时,我首先必须登录我的大学登录页面,我该如何绕过它,我设法编写了一个 chrome 扩展程序,它会自动在页面上填写我的用户名和密码,但是我怎样才能让浏览器点击我的登录按钮?有什么资源/想法/建议的读物吗?
问问题
2232 次
3 回答
3
使用 Chrome 的“保存用户名和密码”功能?好吧,你不想那样做。
找到表格并提交。
如果表单有 ID,则按 ID 查找:
var form = document.getElementById('id');
form.submit();
如果没有,可能页面上只有一个表单,所以你可以找到它,如下所示:
var form = document.getElementsByTagName('form')[0];
form.submit();
如果这也不起作用,那么您可以使用用户名输入来查找其包含的表单。我假设您有对用户名输入的引用,因为您说您可以为它填写一个值:
// Assume variable 'usernameInput' points to the username input element.
var form;
var p = usernameInput.parentNode;
while (p) {
if (p.nodeName.toLowerCase() == 'form') {
form = p;
break;
}
}
if (form) {
form.submit();
}
等等。
您也可以查找“提交”按钮并单击它。
var myButton = document.getElementById('submitButton');
myButton.click();
从内容脚本单击或提交时,我取得了不同程度的成功。也许导入 jQuery 会搞砸事情——我不确定。因此,我发现自己使用此 gem 显式发送鼠标事件(根据需要将其调整为其他事件类型):
function clickElement(el) {
el.css('background-color', '#FFFF00');
el = $(el).get(0);
var evt = document.createEvent('MouseEvents');
evt.initMouseEvent('click', true, true, document, 1, 0, 0, 0, 0, false, false, false, false, 0, null);
el.dispatchEvent(evt);
}
于 2013-09-18T19:22:37.157 回答
0
使用.click()
按钮元素上的.submit()
方法,或表单元素上的方法。
于 2013-09-18T19:16:07.993 回答
0
使用“密码框”插件。您可以从 Chrome 网络应用商店下载它。该插件在右上角添加了另一个按钮,如果您点击它,您可以点击添加新页面或类似的东西,然后您只需输入您的用户名和密码即可!
然后我所做的是在chrome的设置中我将登录页面添加为打开chrome时自动打开的页面,然后密码框自动输入用户名和密码,你就登录了!因此,在您完成所有设置后,您只需打开浏览器即可登录!
于 2014-06-16T00:43:34.770 回答