2011-07-12 86 views
0

我正在嘗試登錄到(我認爲是)webapp,並且我試圖登錄到網站時卡住了。使用WWW ::機械化的工作,但在從我的帖子的回覆,內容是打印超過兩HTML的Javascript罷了:如何使用webapp自動登錄?

<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> 

還有具有src這幀標題:

FRAME TITLE="Service Desk Express Navigator" SRC="options_nailogo.aspx" MARGINWIDTH=0 MARGINHEIGHT=0 NORESIZE scrolling=no 

一般來說,當內容不是網站源代碼時,我會如何處理這樣的回覆,但主要是腳本?

回答

0

內容就是在網站源:)

How WWW::Mechanize deals with FRAME SRC爲紐帶:

注意< FRAME SRC = 「...」 >標記被解析出處理HTML和 的作爲鏈接,所以這種方法與他們合作。

你會想在該鏈接上使用follow_link

+0

所以,我可以忽略HTML中的腳本,然後按照從SRC的鏈接? – Shahab

+0

對於這種情況,它看起來像你可以。這實際上是一種逐案的事情......您可能需要評估一些腳本。例如,假設你有一個鏈接,'Link Text';你必須評估'someJSfunc'來跟着它。 – mrk

+0

它的工作,感謝您的幫助 – Shahab

0

請參閱my answer to this related questionPhantomJSSelenium都是自動執行與嚴重依賴Javascript顯示用戶界面的網站交互的好工具。

+0

嗯不是Selenium更多的測試,如果我使用Phantom,有沒有Perl的實施? – Shahab

+0

Selenium是爲測試而設計的,但它可以自動完成任何用戶交互,並且它有一個Perl客戶端。如果您不介意在打開的瀏覽器中運行交互,這是一個很好的工具。 Phantom沒有Perl實現,但這並不重要 - 你會以任何方式用Javascript編寫你的腳本,這是迄今爲止與Javascript驅動的站點交互的最佳方式。 – nrabinowitz

+0

是的,我的錯誤,我忘了說我需要這個項目在後臺運行。我以後可能會使用Phantom,這取決於我可以用Perl做些什麼,感謝@nrabinowitz的建議 – Shahab