Javascript 如何使用webapp自动登录?
我正在尝试登录一个(我假设是一个)webapp,但我在尝试登录该网站时遇到了麻烦。使用WWW::Mechanize确实有效,但在我的帖子的回复中,它只打印了几个HTML Javascript:Javascript 如何使用webapp自动登录?,javascript,html,perl,Javascript,Html,Perl,我正在尝试登录一个(我假设是一个)webapp,但我在尝试登录该网站时遇到了麻烦。使用WWW::Mechanize确实有效,但在我的帖子的回复中,它只打印了几个HTML Javascript: <HTML> <SCRIPT Language=JAVAScript> var msgTimerID; var strForceLogOff = "false"; function WindowOnLoad(){ if ("false" == "true"
<HTML>
<SCRIPT Language=JAVAScript>
var msgTimerID;
var strForceLogOff = "false";
function WindowOnLoad(){
if ("false" == "true" && "false" == "false")
MerlinSystemMsg("",64);
if ("false"=="true")
msgTimerID = window.setInterval("MerlinSystemMsg(10095,64)", 300000,'javascript');
}
function MyShowModal(){
showModalDialog("", window, strFeatures);}
function clearMsgInterval(){
window.clearInterval(msgTimerID);
}
function WindowOnUnLoad(){
if(top.frames(0).document.getElementById("OPMODE").value =="LOGOFF"){
strFeatures = "width=1,height=1,left=1000,top=1000,toolbar=no,scrollbars=no,menubar=no,location=no,directories=no,status=yes,resizable=1";
window.open("ForceLogOff.aspx","forcelogout",strFeatures);
}
}
window.onbeforeunload = WindowOnUnLoad;
window.onload = WindowOnLoad;
</SCRIPT>
<FRAMESET ROWS="57px, *" BORDER=0 FRAMEBORDER=0 STYLE="background-color=transparent">
<FRAME TITLE="Service Desk Express Navigator" SRC="Options_split.aspx?NavigatorName=1065" NORESIZE>
</HTML>
一般来说,如果内容不是网站源,而主要是脚本,我将如何处理这样的响应?该内容是网站源:) 作为链接: 请注意,标记是从HTML和XML中解析出来的 将其视为链接,以便此方法与它们一起使用
您需要在该链接上使用
follow\u link
。请参阅。和都是很好的工具,用于自动化与严重依赖Javascript显示用户界面的站点的交互。那么我可以忽略html中的脚本,只需遵循SRC中的链接吗?在这种情况下,看起来您可以。这实际上是一种逐案处理的事情……您可能需要评估一些脚本。例如,假设您有一个链接,
;您必须评估someJSfunc
才能遵循它。嗯,Selenium不是用于测试的,如果我使用Phantom,是否有Perl实现?Selenium是用于测试的,但它可以自动执行几乎任何用户交互,并且它有一个Perl客户端。如果你不介意在一个开放的浏览器中运行你的交互,这是一个很好的工具。Phantom没有Perl实现,但这并不重要——无论哪种方式,您都可以用Javascript编写脚本,这是迄今为止与Javascript驱动的站点交互的最佳方式。是的,我的错误是,我忘了说我需要在后台运行此项目。稍后我可能会使用Phantom,这取决于我能用Perl做什么,谢谢@nrabinowitz的建议
FRAME TITLE="Service Desk Express Navigator" SRC="options_nailogo.aspx" MARGINWIDTH=0 MARGINHEIGHT=0 NORESIZE scrolling=no