專利名稱:用于評(píng)估萬維網(wǎng)頁各方面的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)軟件,尤其涉及可以用于確認(rèn)萬維網(wǎng)站各方面的軟件。
背景技術(shù):
許多人利用因特網(wǎng)來使用萬維網(wǎng)(“web”)。在web環(huán)境中,服務(wù)器計(jì)算機(jī)以萬維網(wǎng)頁的形式提供由客戶計(jì)算機(jī)請(qǐng)求的信息。萬維網(wǎng)頁包括以諸如超文本標(biāo)記語言(HTML)或可擴(kuò)展標(biāo)記語言(XML)等標(biāo)記語言格式提供的一組指令,即“標(biāo)簽”,以及其它信息。在客戶計(jì)算機(jī)上執(zhí)行的瀏覽器程序接收并處理標(biāo)簽來為用戶創(chuàng)建顯示。標(biāo)簽可以定義頁面元素的外觀,諸如文本元素的字體。標(biāo)簽也可以定義通過統(tǒng)一資源定位器(URL)來標(biāo)識(shí)另一web資源的超文本鏈接。用戶可以通過在其上“點(diǎn)擊”(例如,通過使用鼠標(biāo)來將光標(biāo)移動(dòng)至該鏈接上并按下鼠標(biāo)上的按鍵)來調(diào)用鏈接,這會(huì)促使向服務(wù)器計(jì)算機(jī)提交訪問由URL指定的資源的請(qǐng)求。
當(dāng)頁面由瀏覽器顯示時(shí),包含在萬維網(wǎng)頁中的某些元素可以不立即向用戶表現(xiàn)。例如,萬維網(wǎng)頁可以包括嵌入的命令,諸如在動(dòng)態(tài)HTML(DHTML)格式中提供的命令,它們被執(zhí)行以當(dāng)一事件發(fā)生時(shí)顯示某些頁面元素。可促使嵌入命令執(zhí)行的一個(gè)示例性事件是特定用戶輸入的接收。例如,當(dāng)檢測(cè)到用戶已經(jīng)將光標(biāo)移動(dòng)到特定頁面元素(例如,某個(gè)鏈接)之上后,可以執(zhí)行促使在顯示器上緊接該頁面元素出現(xiàn)新菜單的命令。這類顯示元素一般被稱為“飛出菜單(fly-out menu)”。該菜單上的每一條目一般是允許用戶訪問web資源的超文本鏈接,且每一條目可以定義可以促使出現(xiàn)另一飛出菜單的事件。
圖1A-1B示出了典型的飛出菜單顯示元素。圖1A包括界面101,它是由瀏覽器程序呈現(xiàn)的萬維網(wǎng)頁的顯示。界面101示出了對(duì)萬維網(wǎng)頁常見的各種元素,包括鏈接105、110、115和120,以及菜單104上的條目103。在所示的示例性界面中,條目103中包含向右箭頭的每一條目(即,條目103A、103C、103D和103F)是從中可以出現(xiàn)飛出菜單的元素。即,當(dāng)關(guān)于這些條目中的任一個(gè)的特定事件發(fā)生(例如,用戶引導(dǎo)鼠標(biāo)至元素上)之后,可以執(zhí)行會(huì)促使飛出菜單在界面101上緊接該元素出現(xiàn)的命令。
圖1B示出了用戶將光標(biāo)移動(dòng)至條目103A上促使顯示飛出菜單130。飛出菜單105包含條目106A-106E,每一條目都定義了一超文本鏈接。
一般而言,通過文檔對(duì)象模型(DOM)啟用DHTML功能,DOM是允許對(duì)頁面元素進(jìn)行處理的瀏覽器組件。特別地,瀏覽器通過將頁面標(biāo)簽、命令和其它元素裝載至DOM來處理頁面。在Microsoft Internet Explorer瀏覽器的情況下,元素可以被裝載至由DOM提供的一個(gè)或多個(gè)數(shù)組中,且可以向DOM發(fā)出執(zhí)行特定頁面元素處理的指令,諸如當(dāng)接收到可能調(diào)用嵌入命令的用戶輸入時(shí)。使用圖1A-1B中示出的飛出菜單的示例,可以指令DOM在用戶將光標(biāo)移動(dòng)到“Windows XP”菜單條目上時(shí)調(diào)用嵌入命令,而該嵌入命令的執(zhí)行可能會(huì)促使出現(xiàn)飛出菜單。
某些萬維網(wǎng)頁,諸如提供復(fù)雜功能的那些萬維網(wǎng)頁,可能是難以維護(hù)的。萬維網(wǎng)頁的常見不足是它提供無效鏈接,無效鏈接是指定無效URL的鏈接。為此,出現(xiàn)了允許管理員或其它用戶確定萬維網(wǎng)頁上鏈接的有效性的眾多自動(dòng)化工具。一般而言,這些工具提供了允許用戶查看萬維網(wǎng)頁上提供的鏈接的有效性和部署的圖形用戶界面(GUI)。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的一個(gè)實(shí)施例,提供了用于評(píng)估包含在萬維網(wǎng)頁中的至少一條鏈接的自動(dòng)化方法,該萬維網(wǎng)頁被配置成通過瀏覽器程序向用戶顯示,該萬維網(wǎng)頁包含當(dāng)被執(zhí)行時(shí)生成至少一條鏈接的命令,該命令被配置成在用戶提供了輸入之后執(zhí)行。該方法包括(A)通過模擬輸入的提供來促使生成至少一條鏈接。該方法也可以包括(B)確定該至少一條鏈接的有效性;以及(C)產(chǎn)生指示該至少一條鏈接是否有效的報(bào)告。
根據(jù)本發(fā)明的另一實(shí)施例,提供了其上編碼了指令的計(jì)算機(jī)可讀介質(zhì),當(dāng)指令被執(zhí)行時(shí),執(zhí)行用于評(píng)估包含在萬維網(wǎng)頁中的至少一條鏈接的方法,該萬維網(wǎng)頁被配置成通過瀏覽器向用戶顯示,該萬維網(wǎng)頁包含當(dāng)被執(zhí)行時(shí)生成至少一條鏈接的命令,該命令被配置成在用戶提供輸入之后執(zhí)行。該方法包括(A)通過模擬輸入的提供來促使生成至少一條鏈接。該方法也可以包括(B)確定該至少一條鏈接的有效性;以及(C)產(chǎn)生指示該至少一條鏈接是否有效的報(bào)告。
根據(jù)本發(fā)明的又一實(shí)施例,提供了一種用于執(zhí)行評(píng)估包含在萬維網(wǎng)頁中的至少一條鏈接的自動(dòng)化方法的系統(tǒng),該萬維網(wǎng)頁被配置成通過瀏覽器程序向用戶顯示,該萬維網(wǎng)頁包含當(dāng)被執(zhí)行時(shí)生成該至少一條鏈接的命令,該命令被配置成當(dāng)用戶提供了輸入之后執(zhí)行。該系統(tǒng)包括通過模擬輸入的提供以促使生成至少一條鏈接的生成控制器。該系統(tǒng)還可以包括確定該至少一條鏈接的有效性的有效性控制器;以及產(chǎn)生指示該至少一條鏈接是否有效的報(bào)告的報(bào)告控制器。
附圖并不旨在按規(guī)定比例繪制。附圖中,各張圖中示出的同一組件由同樣的標(biāo)號(hào)標(biāo)識(shí)。每一組件并非在在每一附圖中都有標(biāo)號(hào)。附圖中圖1A描繪了用于向用戶呈現(xiàn)萬維網(wǎng)頁的示例性瀏覽器界面;圖1B描繪了示出在顯示了萬維網(wǎng)頁中包含的元素之后圖1A的萬維網(wǎng)頁的瀏覽器界面;圖2是可用于實(shí)現(xiàn)本發(fā)明的示例性計(jì)算機(jī)系統(tǒng)的框圖;圖3是可在其上存儲(chǔ)構(gòu)成本發(fā)明的實(shí)施例的程序指令的示例性計(jì)算機(jī)存儲(chǔ)器的框圖;圖4是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例,可通過其來標(biāo)識(shí)包含在萬維網(wǎng)頁中的元素的示例性過程的流程圖;圖5A-5B是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例,用于標(biāo)識(shí)包含在萬維網(wǎng)頁中的元素的示例性技術(shù)的示意圖;圖6是示出用于確認(rèn)包含在萬維網(wǎng)頁中的鏈接的示例性方法的流程圖;以及圖7描繪了根據(jù)本發(fā)明的一個(gè)實(shí)施例,由確定包含在萬維網(wǎng)頁中的元素的狀態(tài)的實(shí)用程序顯示的示例性瀏覽器界面。
具體實(shí)施例方式
本發(fā)明的各方面針對(duì)標(biāo)識(shí)包含在萬維網(wǎng)頁中的鏈接的自動(dòng)化方法。例如,一個(gè)實(shí)施例提供了用于標(biāo)識(shí)通常僅在諸如特定用戶輸入的接收等事件的發(fā)生之后顯示的鏈接的自動(dòng)化方法。例如,可以顯示作為通常在特定用戶輸入接收之后出現(xiàn)的飛出菜單中的條目提供的鏈接。
根據(jù)一個(gè)實(shí)施例,包括標(biāo)簽、鏈接和其它元素的萬維網(wǎng)頁的元素可以被裝載至文檔對(duì)象模型(DOM)。在一個(gè)實(shí)施例中,標(biāo)簽被裝載至由DOM提供的數(shù)組。計(jì)算機(jī)程序?qū)嶓w可以向DOM發(fā)出模擬特定事件的發(fā)生的指令,諸如對(duì)關(guān)于特定頁面元素的瀏覽器輸入的接收,從而促使顯示包含在該頁面中的鏈接。例如,向DOM發(fā)出的指令可以模擬用戶將光標(biāo)移動(dòng)至特定標(biāo)簽上。模擬事件可促使包含在頁面內(nèi)的命令(例如,嵌入在頁面中的動(dòng)態(tài)HTML命令)被調(diào)用,從而促使其它鏈接的顯示??梢詧?zhí)行遞歸過程來評(píng)估對(duì)關(guān)于新顯示的鏈接的任一個(gè)的事件模擬是否會(huì)促使將顯示更多鏈接。
例如,本發(fā)明的實(shí)施例可以被用來促使顯示頁面上的鏈接,使得自動(dòng)化的過程可以評(píng)估它們的有效性。例如,當(dāng)顯示了頁面上的鏈接之后,自動(dòng)化過程可以發(fā)出訪問由每一鏈接指定的資源的請(qǐng)求。該過程可以基于服務(wù)器對(duì)該請(qǐng)求的響應(yīng),諸如由服務(wù)器為所請(qǐng)求的資源返回的狀態(tài)碼,來評(píng)估每一鏈接的有效性。關(guān)于每一鏈接的評(píng)估的結(jié)果可以通過圖形用戶界面(GUI)向用戶呈現(xiàn)。由此,本發(fā)明的一個(gè)實(shí)施例可以使得用戶能夠更有效地評(píng)估包含在頁面中的鏈接的有效性,諸如在事件發(fā)生之后動(dòng)態(tài)生成的那些鏈接。
應(yīng)當(dāng)理解,本發(fā)明不限于其中評(píng)估頁面上的鏈接的有效性的使用。實(shí)際上,本發(fā)明的實(shí)施例可以用眾多方式實(shí)現(xiàn),且可以具有眾多應(yīng)用。例如,本發(fā)明的實(shí)施例可以被用來使得用戶能夠產(chǎn)生包含在頁面中的鏈接的更完整清單,而無需評(píng)估這些鏈接的有效性。
可以在諸如圖2中示出的示例性計(jì)算機(jī)系統(tǒng)200等一個(gè)或多個(gè)計(jì)算機(jī)系統(tǒng)上實(shí)現(xiàn)本方面的各方面。計(jì)算機(jī)系統(tǒng)200包括輸入設(shè)備202、輸出設(shè)備201、處理器203、存儲(chǔ)器系統(tǒng)204和存儲(chǔ)206,所有這些通過可包含一個(gè)或多個(gè)總線、開關(guān)和/或網(wǎng)絡(luò)的互連機(jī)制205來直接或間接地被耦合。輸入設(shè)備202從用戶或機(jī)器(例如,操作人員或者電話接收器)處接收輸入,且輸出設(shè)備201向用戶或機(jī)器(例如,液晶顯示器)顯示或發(fā)送信息。處理器203一般執(zhí)行被稱為操作系統(tǒng)(例如,MicrosoftWindows(R)家族操作系統(tǒng)或其它合適的操作系統(tǒng))的計(jì)算機(jī)程序,操作系統(tǒng)控制其它計(jì)算機(jī)程序的執(zhí)行,并提供調(diào)度、輸入/輸出和其它設(shè)備控制、計(jì)算、編譯、存儲(chǔ)分配、數(shù)據(jù)管理、存儲(chǔ)器管理、通信和數(shù)據(jù)流控制。處理器和操作系統(tǒng)共同定義了以其它計(jì)算機(jī)編程語言編寫應(yīng)用程序的計(jì)算機(jī)平臺(tái)。
處理器203也可以執(zhí)行一個(gè)或多個(gè)計(jì)算機(jī)程序來實(shí)現(xiàn)各種功能。這些計(jì)算機(jī)程序可以用任何類型的計(jì)算機(jī)編程語言來編寫,包括過程編程語言、面向?qū)ο缶幊陶Z言、宏語言、或其組合。這些計(jì)算機(jī)程序可以被存儲(chǔ)在存儲(chǔ)系統(tǒng)206中。存儲(chǔ)系統(tǒng)206可以在易失性或非易失性的介質(zhì)上保持信息,且可以是固定或可移動(dòng)的。存儲(chǔ)系統(tǒng)206將在圖3中更詳細(xì)示出。
存儲(chǔ)系統(tǒng)206一般包括計(jì)算機(jī)可讀和可寫非易失性記錄介質(zhì)301,其上存儲(chǔ)定義計(jì)算機(jī)程序或?qū)⒂沙绦蚴褂玫男畔⒌男盘?hào)。介質(zhì)可以是,例如磁盤或閃存。通常,在操作中,處理器203促使數(shù)據(jù)從非易失性記錄介質(zhì)301中讀取至易失性存儲(chǔ)器302(例如,隨機(jī)存取存儲(chǔ)器,即RAM)中,易失性存儲(chǔ)器302允許處理器203對(duì)信息較介質(zhì)301更快的訪問。如圖3所示,存儲(chǔ)器302可以位于存儲(chǔ)系統(tǒng)206中,或者如圖2所示,位于存儲(chǔ)器系統(tǒng)204中。處理器203一般處理集成電路存儲(chǔ)器204、302內(nèi)的數(shù)據(jù),然后當(dāng)處理完成后將數(shù)據(jù)復(fù)制至介質(zhì)301。用于管理介質(zhì)301與集成電路存儲(chǔ)器元件204、302之間的數(shù)據(jù)移動(dòng)的各種機(jī)制是已知的,且本發(fā)明不限于此。本發(fā)明也不限于特定的存儲(chǔ)器系統(tǒng)204或存儲(chǔ)系統(tǒng)206。
圖4描述了用于顯示包含在萬維網(wǎng)頁中的鏈接的示例性技術(shù)??梢允褂糜晌臋n對(duì)象模型(DOM)提供的功能來執(zhí)行圖4的過程。該功能參考圖5A-5B來描述。一般而言,可以通過將包含在萬維網(wǎng)頁中的標(biāo)簽的至少一部分裝載至由DOM提供的數(shù)組,并模擬關(guān)于數(shù)組中的每一標(biāo)簽的事件來確定是否顯示一個(gè)或多個(gè)新鏈接作為模擬的結(jié)果,以執(zhí)行圖4的過程。在圖4的示例性過程中,新顯示的鏈接被自動(dòng)添加到數(shù)組。然而,因?yàn)樾骆溄涌梢员恢糜跀?shù)組中的任何位置,所以每次添加新鏈接時(shí),該過程返回至數(shù)組的開頭來重新開始模擬過程。另外,因?yàn)槊恳恍嘛@示的鏈接可以定義促使顯示更多鏈接的事件,所以該過程繼續(xù),直到模擬了關(guān)于數(shù)組中所有標(biāo)簽的事件。這樣,該過程是遞歸的。
參考圖4,在過程400開始之后,啟動(dòng)動(dòng)作410,在那里萬維網(wǎng)頁被裝載至DOM。在一個(gè)實(shí)施例中,將頁面裝載至DOM之后,包含在頁面中的任何初始指令被允許執(zhí)行。例如,某些頁面包含在頁面接收之后立即由瀏覽器執(zhí)行來定義介紹性顯示序列的指令。該序列可以在顯示“真實(shí)”頁面之前向用戶顯示一段較短的時(shí)間。在一個(gè)實(shí)施例中,這些初始指令被允許執(zhí)行,使得當(dāng)介紹性序列完成后顯示呈現(xiàn)給用戶的標(biāo)簽和數(shù)據(jù)。
在動(dòng)作410完成之后,該過程前進(jìn)至動(dòng)作420,在那里包含在頁面中的標(biāo)簽被裝載至由DOM提供的數(shù)組。然而,本發(fā)明不限于通過將標(biāo)簽裝載至數(shù)組來實(shí)現(xiàn),而是可以使用任何合適的處理技術(shù)。
在一個(gè)實(shí)施例中,被裝載至數(shù)組的標(biāo)簽包括鏈接、表和“分界(div)”標(biāo)簽。然而,本發(fā)明在這方面不受限制,而是可以處理任何合適的標(biāo)簽類型。被處理的標(biāo)簽可以是通常包含可以在事件發(fā)生之后顯示另外的鏈接的頁面元素的那些標(biāo)簽。
在圖5A中示出向其裝載標(biāo)簽的示例性數(shù)組501。當(dāng)被裝載后,數(shù)組501含有7行,標(biāo)記為A-G,包含標(biāo)簽1-7上的信息。每一行包含關(guān)于一個(gè)特定標(biāo)簽的信息。例如,當(dāng)最初被裝載后,行A包含關(guān)于標(biāo)簽1的信息。每一標(biāo)簽上的信息被組織成三列。特別地,列405包含標(biāo)簽名,列510包含關(guān)于標(biāo)簽是否已經(jīng)被該過程評(píng)估的指示,而列515包含標(biāo)簽類型。
回到圖4,當(dāng)動(dòng)作420完成之后,該過程前進(jìn)至動(dòng)作430,在那里確定包含在數(shù)組中的鏈接的數(shù)量。在一個(gè)實(shí)施例中,這可以通過生成數(shù)組501中標(biāo)簽類型(列515中提供的)指示該標(biāo)簽為鏈接的行的數(shù)量的計(jì)數(shù)來執(zhí)行。然而,可以使用用于確定包含在頁面中的鏈接的數(shù)量的任何合適的技術(shù)。
在動(dòng)作430完成之后,該過程前進(jìn)至動(dòng)作440,在那里選取存儲(chǔ)在數(shù)組中的第一標(biāo)簽(即,存儲(chǔ)在最接近數(shù)組開頭處的標(biāo)簽)用于處理。這可以用任何合適的方式來執(zhí)行。
在動(dòng)作440完成之后,該過程前進(jìn)至動(dòng)作450,在那里選擇數(shù)組中下一未評(píng)估的標(biāo)簽。在一個(gè)實(shí)施例中,該動(dòng)作包括選取數(shù)組中列510中的指示規(guī)定該際簽還沒有被評(píng)估的下一標(biāo)簽。作為示例,在該過程的開始,數(shù)組中下一未評(píng)估的標(biāo)簽可以是數(shù)組中的第一標(biāo)簽,諸如可以選擇行A中的標(biāo)簽1。
在動(dòng)作450完成之后,該過程前進(jìn)至動(dòng)作460處,在那里被選取的標(biāo)簽被標(biāo)記為已經(jīng)被評(píng)估的。在一個(gè)實(shí)施例中,這涉及為所考慮的標(biāo)簽更新包含在列510中的指示。
在動(dòng)作460完成之后,該過程前進(jìn)至動(dòng)作470,在那里對(duì)于動(dòng)作450中選取的標(biāo)簽?zāi)M一個(gè)或多個(gè)事件。在一個(gè)實(shí)施例中,這涉及向DOM發(fā)出模擬可能發(fā)生的一個(gè)或多個(gè)事件的一條或多條指令。例如,可以指令DOM對(duì)所選擇的標(biāo)簽“激發(fā)一個(gè)事件”或多個(gè)事件,諸如由特定用戶輸入定義的一個(gè)或多個(gè)事件。每一事件可以表示例如可以由用戶通過瀏覽器程序提供的輸入。例如,可以指令DOM對(duì)于所選取標(biāo)簽激發(fā)“鼠標(biāo)置于其上”事件,該事件在用戶將光標(biāo)移動(dòng)到標(biāo)簽上時(shí)發(fā)生??梢员荒M的其它示例性事件包括“鼠標(biāo)點(diǎn)擊”和“鼠標(biāo)在其上時(shí)敲入回車鍵”事件,它們分別是在用戶將光標(biāo)移動(dòng)到所選取的標(biāo)簽上并且點(diǎn)擊鼠標(biāo)或者敲擊“enter回車”鍵時(shí)發(fā)生的。應(yīng)該理解,可以對(duì)于所選取的標(biāo)簽?zāi)M任何合適類型和數(shù)量的事件,本發(fā)明在這方面也不受限制。
一個(gè)或多個(gè)事件的激發(fā)可以促使調(diào)用包含在萬維網(wǎng)頁中的一條或多條命令。例如,模擬事件可以促使執(zhí)行以DHTML格式提供的嵌入命令。命令的執(zhí)行可以促使一條或多條新鏈接被裝載至數(shù)組501。例如,模擬事件可促使“出現(xiàn)”飛出菜單(即,促使創(chuàng)建新鏈接),使得這些鏈接作為新標(biāo)簽被自動(dòng)裝載至數(shù)組501。
如上所述,新標(biāo)簽可以輸入到數(shù)組的任何位置中。如由圖5B所示,新生成的標(biāo)簽8、9和10已經(jīng)被裝載至數(shù)組501,但是并非被裝載至行H、I、J(即,數(shù)組的末端),它們被分別裝載至行A、E和H。因?yàn)樾律傻臉?biāo)簽8、9和10中的每一個(gè)可以定義可促使生成一條或多條新鏈接的事件,因此在一個(gè)實(shí)施例中,也對(duì)于這些新的標(biāo)簽?zāi)M事件。
為了實(shí)現(xiàn)這一點(diǎn),如果新標(biāo)簽已經(jīng)被裝載至數(shù)組501,那么該過程返回至數(shù)組的第一標(biāo)簽來重新開始處理。這樣,當(dāng)動(dòng)作470完成之后,在動(dòng)作480中,產(chǎn)生數(shù)組中的鏈接的計(jì)數(shù)。下一步,在動(dòng)作485中,作出關(guān)于動(dòng)作480中產(chǎn)生的計(jì)數(shù)(即,在動(dòng)作470完成之后包含在數(shù)組501中的鏈接的數(shù)量)是否與動(dòng)作430中確定的量(即,動(dòng)作470完成之前的鏈接的計(jì)數(shù))不同的判斷。如果數(shù)量是不同的(如在新標(biāo)簽8、9和10生成后),該過程返回至動(dòng)作440,在那里選取數(shù)組中的第一標(biāo)簽(即,行A中的標(biāo)簽9)用于處理。
如果數(shù)組中的標(biāo)簽數(shù)量是相同的,那么該過程前進(jìn)至動(dòng)作490,在那里作出關(guān)于是否評(píng)估了數(shù)組中的所有標(biāo)簽的判斷。在一個(gè)實(shí)施例中,這是通過為每一行評(píng)估包含在列510中的指示來執(zhí)行的。如果存儲(chǔ)在每一行該列中的指示顯示各個(gè)標(biāo)簽都已經(jīng)被評(píng)估,那么該過程完成。
如果確定不是數(shù)組501中的所有標(biāo)簽都已被評(píng)估,那么該過程返回至動(dòng)作450,在那里選取下一未評(píng)估的標(biāo)簽用于處理。然后重復(fù)上述動(dòng)作,使得對(duì)于數(shù)組中的每一標(biāo)簽,以及對(duì)于被顯示為結(jié)果的每一鏈接,模擬一個(gè)或多個(gè)事件。
當(dāng)顯示了包含在萬維網(wǎng)頁中的所有鏈接之后,可以確認(rèn)每一鏈接。在一個(gè)實(shí)施例中,可以使用圖6中所示的過程600來確定包含在萬維網(wǎng)頁中的每一鏈接的有效性。
在過程600開始之后,啟動(dòng)動(dòng)作610,在那里選取一條鏈接用于評(píng)估。這可以用任何合適的方式來執(zhí)行。例如,可以從數(shù)組501(圖5A-5B)中選取鏈接。例如,可以使用列515中提供的類型指示來選取鏈接。在一個(gè)實(shí)施例中,可以選取數(shù)組中的第一鏈接用于評(píng)估。
在動(dòng)作610完成之后,該過程前進(jìn)至動(dòng)作620,在那里發(fā)出請(qǐng)求以檢索由鏈接提供的URL所指定的資源。在一個(gè)實(shí)施例中,發(fā)出HTTP請(qǐng)求來檢索資源。
然后,該過程前進(jìn)至動(dòng)作630,在那里作出關(guān)于檢索嘗試是否成功的判斷。在一個(gè)實(shí)施例中,該判斷可以基于響應(yīng)于在動(dòng)作620中發(fā)出的HTTP請(qǐng)求由服務(wù)器返回的狀態(tài)碼。例如,如果服務(wù)器響應(yīng)于HTTP請(qǐng)求返回狀態(tài)碼“200”,那么檢索嘗試可以被認(rèn)為是成功的,但是如果服務(wù)器返回狀態(tài)碼“404”,那么檢索嘗試可以被認(rèn)為是不成功的。如果檢索嘗試被認(rèn)為是成功的,那么該過程前進(jìn)至動(dòng)作640,在那里該鏈接被標(biāo)記為有效的。如果檢索嘗試被認(rèn)為是不成功的,那么該過程前進(jìn)至動(dòng)作645,在那里該鏈接被標(biāo)記為無效的。
當(dāng)動(dòng)作640或645中的任一個(gè)完成之后,該過程前進(jìn)至動(dòng)作650,在那里作出該過程是否評(píng)估了所有鏈接的判斷。如果不是所有鏈接都已被評(píng)估了,那么該過程返回至動(dòng)作610,并且選取另一鏈接用于評(píng)估。如果已經(jīng)評(píng)估了所有鏈接,那么過程600完成。
如上所述,本發(fā)明的實(shí)施例可以用來標(biāo)識(shí)包含在頁面中的鏈接,使得可以評(píng)估這些鏈接的有效性。例如,一個(gè)自動(dòng)化過程可以實(shí)現(xiàn)上述過程,以標(biāo)識(shí)包含在頁面中的鏈接、通過發(fā)出訪問所引用的資源的請(qǐng)求來評(píng)估這些鏈接中的每一個(gè)、以及通過圖形用戶界面向用戶呈現(xiàn)評(píng)估的結(jié)果。圖7中示出了示例性用戶界面700。界面700提供了包含在界面101(圖1)中所示萬維網(wǎng)頁中的鏈接的有效性的指示。
界面700包括部分701和702。部分702提供了一網(wǎng)格顯示,其中在每一列中呈現(xiàn)關(guān)于鏈接的特定信息。例如,列702A包括界面100上示出的表示鏈接的文本,列702B包含該鏈接的標(biāo)題,列702C包含響應(yīng)于檢索鏈接的嘗試而返回的狀態(tài)碼,而列702D包含從服務(wù)器中獲取狀態(tài)碼所需的時(shí)間。
特定鏈接上的信息被組織成行。例如,由文本“Microsoft.com home(Microsoft.com主頁)”表示的鏈接105(圖1A)上的信息在行705中示出。類似地,鏈接110、115、120和103A上的信息分別在行710、715和720和725上示出。
如行730中所示,界面700顯示關(guān)于僅在事件發(fā)生之后出現(xiàn)的鏈接的信息。特別地,行730顯示鏈接106A上的信息,該鏈接在圖1A中沒有示出。而鏈接106A僅在圖1B中示出,且作為飛出菜單130上的條目出現(xiàn),飛出菜單130在接收到用戶輸入之后出現(xiàn)。行730包括表示鏈接106A的文本、鏈接標(biāo)題、狀態(tài)碼和獲取狀態(tài)碼所需時(shí)間,以及其它信息。可以示出關(guān)于萬維網(wǎng)頁各方面的任何合適的信息,包括諸如在列702中顯示的那些鏈接特征。
可以理解,通過使用參考圖7描述的界面,管理員或其它用戶可以獲取由萬維網(wǎng)頁提供的鏈接的更全面的清單。結(jié)果是,用戶可以諸如通過確定包含在頁面中的鏈接的有效性來更有效地維護(hù)站點(diǎn)。
通過閱讀前述內(nèi)容,也應(yīng)該理解,本發(fā)明的實(shí)施例的各方面可以被實(shí)現(xiàn)在一個(gè)或多個(gè)計(jì)算機(jī)程序、和/或硬件、固件或其組合中。例如,實(shí)施例的各種組件,或者單獨(dú)或者相組合,可以被實(shí)現(xiàn)為包含計(jì)算機(jī)可讀介質(zhì)的計(jì)算機(jī)程序產(chǎn)品,在該計(jì)算機(jī)可讀介質(zhì)上儲(chǔ)存了指令以供處理器訪問和執(zhí)行。當(dāng)由計(jì)算機(jī)執(zhí)行時(shí),該指令可以指導(dǎo)計(jì)算機(jī)來實(shí)現(xiàn)本實(shí)施例的各個(gè)方面。
已經(jīng)描述了本發(fā)明的至少一個(gè)實(shí)施例的若干方面,可以理解,對(duì)本領(lǐng)域的技術(shù)人員而言,能夠容易地想到各種變換、修改和改進(jìn)。這樣的變換、修改和改進(jìn)旨在作為本申請(qǐng)的一部分,且旨在落入本發(fā)明的精神和范圍之內(nèi)。從而,前述描述和附圖僅作為示例。
權(quán)利要求
1.一種用于評(píng)估包含在萬維網(wǎng)頁中的至少一條鏈接的自動(dòng)化方法,所述萬維網(wǎng)頁被配置成通過瀏覽器程序向用戶顯示,所述萬維網(wǎng)頁包含當(dāng)被執(zhí)行時(shí)生成所述至少一條鏈接的命令,所述命令被配置成在用戶提供了輸入之后執(zhí)行,所述方法包括(A)通過模擬輸入的提供來促使生成所述至少一條鏈接。
2.如權(quán)利要求1所述的方法,其特征在于,所述至少一條鏈接包括飛出菜單中的至少一個(gè)條目。
3.如權(quán)利要求1所述的方法,其特征在于,所述動(dòng)作(A)還包括將萬維網(wǎng)頁裝載至文檔對(duì)象模型(DOM)和促使所述DOM執(zhí)行所述命令。
4.如權(quán)利要求3所述的方法,其特征在于,所述萬維網(wǎng)頁包括多個(gè)標(biāo)簽,且所述動(dòng)作(A)還包括將所述多個(gè)標(biāo)簽裝載至由所述DOM提供的數(shù)組;以及模擬關(guān)于被裝載至所述數(shù)組的每一標(biāo)簽的輸入的提供。
5.如權(quán)利要求1所述的方法,其特征在于,所述動(dòng)作(A)還包括通過模擬所述輸入的提供來促使生成第一鏈接;以及通過模擬關(guān)于所述第一鏈接的輸入的提供來促使生成第二鏈接。
6.如權(quán)利要求1所述的方法,其特征在于,所述命令是以動(dòng)態(tài)HTML(DHTML)形式提供的。
7.一種其上編碼指令的計(jì)算機(jī)可讀介質(zhì),當(dāng)執(zhí)行所述指令時(shí),執(zhí)行一種用于評(píng)估包含在萬維網(wǎng)頁中的至少一條鏈接的自動(dòng)化方法,所述萬維網(wǎng)頁被配置成通過瀏覽器程序向用戶顯示,所述萬維網(wǎng)頁包含當(dāng)被執(zhí)行時(shí)生成所述至少一條鏈接的命令,所述命令被配置成在用戶提供了輸入之后執(zhí)行,所述方法包括(A)通過模擬輸入的提供來促使生成所述至少一條鏈接。
8.如權(quán)利要求7所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述至少一條鏈接包括飛出菜單中的至少一個(gè)條目。
9.如權(quán)利要求7所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述動(dòng)作(A)還包括將萬維網(wǎng)頁裝載至文檔對(duì)象模型(DOM)和促使所述DOM執(zhí)行所述命令。
10.如權(quán)利要求9所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述萬維網(wǎng)頁包括多個(gè)標(biāo)簽,且所述動(dòng)作(A)還包括將所述多個(gè)標(biāo)簽裝載至由所述DOM提供的數(shù)組;以及模擬關(guān)于被裝載至所述數(shù)組的每一標(biāo)簽的輸入的提供。
11.如權(quán)利要求7所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述動(dòng)作(A)還包括通過模擬所述輸入的提供來促使生成第一鏈接;以及通過模擬關(guān)于所述第一鏈接的輸入的提供來促使生成第二鏈接。
12.如權(quán)利要求7所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述命令是以動(dòng)態(tài)HTML(DHTML)形式提供的。
13.一種用于執(zhí)行用于評(píng)估包含在萬維網(wǎng)頁中的至少一條鏈接的自動(dòng)化方法的系統(tǒng),所述萬維網(wǎng)頁被配置成通過瀏覽器程序向用戶顯示,所述萬維網(wǎng)頁包含當(dāng)被執(zhí)行時(shí)生成所述至少一條鏈接的命令,所述命令被配置成在用戶提供了輸入之后執(zhí)行,所述系統(tǒng)包括生成控制器,它通過模擬輸入的提供來促使生成所述至少一條鏈接。
14.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述至少一條鏈接包括飛出菜單中的至少一個(gè)條目。
15.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述生成控制器還將萬維網(wǎng)頁裝載至文檔對(duì)象模型(DOM)并促使所述DOM執(zhí)行所述命令。
16.如權(quán)利要求15所述的系統(tǒng),其特征在于,所述萬維網(wǎng)頁包括多個(gè)標(biāo)簽,且所述生成控制器還將所述多個(gè)標(biāo)簽裝載至由所述DOM提供的數(shù)組;以及模擬關(guān)于被裝載至所述數(shù)組的每一標(biāo)簽的輸入的提供。
17.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述生成控制器還通過模擬所述輸入的提供來促使生成第一鏈接;以及通過模擬關(guān)于所述第一鏈接的輸入的提供來促使生成第二鏈接。
全文摘要
提供了一種用于評(píng)估包含在萬維網(wǎng)頁中的鏈接的有效性的自動(dòng)化方法。該萬維網(wǎng)頁可以包含諸如動(dòng)態(tài)HTML或其它嵌入命令等命令,這些命令被配置成在諸如提供用戶輸入等事件的發(fā)生之后執(zhí)行。根據(jù)一個(gè)實(shí)施例,該方法包括通過模擬事件的發(fā)生來促使生成鏈接。在鏈接生成之后,可以確定它們的有效性,并可以產(chǎn)生指示該鏈接是否有效的報(bào)告。
文檔編號(hào)G06F17/30GK1797405SQ20051012875
公開日2006年7月5日 申請(qǐng)日期2005年11月30日 優(yōu)先權(quán)日2004年12月30日
發(fā)明者M·A·斯塔博德, R·W·法伯 申請(qǐng)人:微軟公司