我正在尝试模拟点击学校门户网站登录页面上的按钮。但是,当我查看代码时,我只看到名称和 ID,然后是“事件”按钮。 “事件”按钮显示重定向到 jquery 文件,将用户重定向到特定链接。我附上了部分代码。
我如何在我的代码中启动该事件来模拟按钮点击并自动重定向。
附言我会不断检查回复,所以如果没有足够的信息,请告诉我,这样我就可以提出更好的问题。
[这是登录按钮代码的图片:
<input id="LoginButton" style="visibility: visible" type="button" value="Log In">
事件
我需要直接从我的应用程序执行这些操作。 (这位于 index.php 文件夹中
function gotologinreminder() {
top.location = '/novi/StudentPortal/Home/LoginReminder';
};
$("#LoginButton").click(function () {
$("#msgdisplay").hide();
$("#imgwait").show();
if ($("#Pin").val() == "" || $("#Password").val() == "") {
$("#imgwait").hide();
$("#msg1").show();
return;
};
$("#loginform").submit();
});
$("#loginform").ajaxForm(function (retval) {
if (retval.valid == "0") {
$("#imgwait").hide();
$("#msgmessage").html(retval.msg);
$("#msgdisplay").show();
$("#Pin").val("");
$("#Password").val("");
$("#Pin").focus();
} else {
$(window).off('resize.rightcolumn');
top.location = '/novi/StudentPortal/Home/PortalMainPage';
};
});
function clearmessages() {
$("#msgdisplay").hide();
$("#msg1").hide();
};
谢谢,
德米特里
最佳答案
如果我没理解错的话,您想通过 Java 代码登录到一个网站,该网站的代码是用 JavaScript 编写的。在这种情况下,最好查看在 Network tab in the developer console. 中登录时发生的网络请求。特别查看那些使用 POST 方法发出的请求,因为这意味着您的浏览器正在向网站发送信息。我还建议使用 Jsoup 库,因为它有助于处理此类请求。
编辑 1:我做了一个 album屏幕截图以帮助您理解。 最后一张图片是您将放入 Java 类中以进行相同登录的代码。 (我模糊了一些信息,但你会明白的)
获取文档后,您还可以使用 Jsoup 抓取网站,here is the documentation .
注意:你的JS代码显示的无非是验证和网站UI的相应变化,例如检查用户或密码是否为空,然后在网站上显示错误。实际的表单提交功能 (retval) 不在您显示的代码中(至少据我所知)。
要使用 Jsoup 传递登录 cookie,您可以这样做:
Document profilePicDocument = Jsoup.connect(This is the new URL you want to access)
.cookies(secondLoginPost.cookies()) //secondLoginPost is the last POST request
.get();
关于java - 如何使用 Java 和 Eclipse 在 HTML 网站上启动 Jquery 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54116732/