頁面元素的定位方法及裝置的制造方法
【專利說明】頁面元轟的定位方法及裝置 【技術(shù)領(lǐng)域】
[0001] 本申請(qǐng)涉及萬維網(wǎng)(WorldWideWeb,Web)頁面處理技術(shù),尤其涉及一種頁面元素 的定位方法及裝置。 【【背景技術(shù)】】
[0002] 隨著通信技術(shù)的發(fā)展,終端集成了越來越多的功能,從而使得終端的系統(tǒng)功能列 表中包含了越來越多相應(yīng)的應(yīng)用程序,例如,電腦中安裝的應(yīng)用程序、第H方智能手機(jī)中安 裝的應(yīng)用程序(Application,APP)等。有些應(yīng)用程序中會(huì)涉及一些頁面,該些頁面是基于 超文本標(biāo)記語言(HyperTextMarkupLanguage,HTML)編寫的網(wǎng)頁(Web化ge),也可W稱 為Web頁面。Web頁面可W包括由一個(gè)或者多個(gè)頁面標(biāo)簽即超文本標(biāo)記語言(HyperText MarkupLanguage,HTML)標(biāo)簽組成的一個(gè)顯示區(qū)塊,稱為頁面元素,例如,文字、標(biāo)簽、超 鏈接、按鈕、輸入框、下拉框等。在一些情況下,需要定位指定頁面元素,例如,在用戶界面 (UserinterhceiUI)測(cè)試中,需要對(duì)指定頁面元素進(jìn)行操作等?,F(xiàn)有技術(shù)中,可W通過逐 級(jí)遍歷頁面的文檔對(duì)象模型(Document化jectModel,D0M)樹,獲取指定頁面元素的路徑。
[0003] 然而,由于采用逐級(jí)遍歷頁面的D0M樹的方式進(jìn)行頁面元素的定位,使得所獲取 的頁面元素的路徑為該頁面元素到D0M樹的根節(jié)點(diǎn)的全部路徑,因此,該頁面元素的路徑 十分兀長,從而導(dǎo)致了頁面元素定位的效率的降低。 【
【發(fā)明內(nèi)容】
】
[0004] 本申請(qǐng)的多個(gè)方面提供一種頁面元素的定位方法及裝置,用W提高頁面元素定位 的效率。
[0005] 本申請(qǐng)的一方面,提供一種頁面元素的定位方法,包括:
[0006] 確定目標(biāo)頁面中待定位的頁面元素;
[0007] 根據(jù)所述頁面元素的ID屬性的生成方式、所述頁面元素的自定義屬性和所述頁 面元素的CLASS屬性的唯一性中的至少一項(xiàng),獲得所述頁面元素的路徑;其中,
[0008] 所述自定義屬性包括除了ID屬性和CLASS屬性之外的其他屬性。
[0009] 如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述根據(jù)所 述頁面元素的ID屬性的生成方式、所述頁面元素的自定義屬性和所述頁面元素的CLASS屬 性的唯一性中的至少一項(xiàng),獲得所述頁面元素的路徑,包括:
[0010] 若所述頁面元素包含ID屬性,且所述頁面元素的ID屬性中不包含動(dòng)態(tài)變化的字 符,將所述頁面元素的ID屬性,作為所述頁面元素的路徑;
[0011] 若所述頁面元素包含ID屬性,且所述頁面元素的ID屬性中包含動(dòng)態(tài)變化的字符, 將所述頁面元素的ID屬性中除了所述動(dòng)態(tài)變化的字符之外的部分,作為所述頁面元素的 路徑。
[0012] 如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述根據(jù)所 述頁面元素的ID屬性的生成方式、所述頁面元素的自定義屬性和所述頁面元素的CLASS屬 性的唯一性中的至少一項(xiàng),獲得所述頁面元素的路徑,包括:
[0013] 若所述頁面元素不包含ID屬性,且所述頁面元素包含唯一的自定義屬性,將所述 自定義屬性,作為所述頁面元素的路徑。
[0014] 如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述根據(jù)所 述頁面元素的ID屬性的生成方式、所述頁面元素的自定義屬性和所述頁面元素的CLASS屬 性的唯一性中的至少一項(xiàng),獲得所述頁面元素的路徑,包括:
[0015] 若所述頁面元素不包含ID屬性和唯一的自定義屬性,且所述頁面元素包含唯一 的CLASS屬性,將所述唯一的CLASS屬性,作為所述頁面元素的路徑;
[0016] 若所述頁面元素不包含ID屬性和唯一的自定義屬性,且所述頁面元素包含不唯 一的CLASS屬性或不包含CLASS屬性,
[0017] 在所述目標(biāo)頁面中獲取所述頁面元素的上一級(jí)頁面元素,所述上一級(jí)頁面元素包 含ID屬性或唯一的CLASS屬性,將所述上一級(jí)頁面元素的ID屬性或唯一的CLASS屬性,W 及所述頁面元素的不唯一的CLASS屬性或所述頁面元素的頁面標(biāo)簽,作為所述頁面元素的 路徑;或者
[0018] 在所述目標(biāo)頁面中獲取所述頁面元素的至少兩個(gè)上級(jí)頁面元素,所述至少兩個(gè)上 級(jí)頁面元素中最高級(jí)的上級(jí)頁面元素包含ID屬性或唯一的CLASS屬性,所述至少兩個(gè)上級(jí) 頁面元素中除了所述最高級(jí)的上級(jí)頁面元素之外的其他上級(jí)頁面元素不包含ID屬性或唯 一的CLASS屬性,將所述最高級(jí)的上級(jí)頁面元素的ID屬性或唯一的CLASS屬性、所述其他 上級(jí)頁面元素的頁面標(biāo)簽,W及所述頁面元素的不唯一的CLASS屬性或所述頁面元素的頁 面標(biāo)簽,作為所述頁面元素的路徑。
[0019] 如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,若所述頁面 元素不包含ID屬性和唯一的自定義屬性,且所述頁面元素包含不唯一的CLASS屬性或不包 含CLASS屬性;
[0020] 在所述目標(biāo)頁面中獲取所述頁面元素的上一級(jí)頁面元素;
[0021] 若所述上一級(jí)頁面元素包含ID屬性或唯一的CLASS屬性,將所述上一級(jí)頁面元素 的ID屬性或唯一的CLASS屬性,W及所述頁面元素的不唯一的CLASS屬性或所述頁面元素 的頁面標(biāo)簽,作為所述頁面元素的路徑;
[0022] 若所述上一級(jí)頁面元素不包含ID屬性或唯一的CLASS屬性,依次獲取所述上一級(jí) 頁面元素的上級(jí)頁面元素,直到獲取到包含ID屬性或唯一的CLASS屬性的上級(jí)頁面元素為 止,將該上級(jí)頁面元素的ID屬性或唯一的CLASS屬性、所述其他上級(jí)頁面元素的頁面標(biāo)簽, W及所述頁面元素的不唯一的CLASS屬性或所述頁面元素的頁面標(biāo)簽,作為所述頁面元素 的路徑。
[0023] 如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述根據(jù)所 述頁面元素的ID屬性的生成方式、所述頁面元素的自定義屬性和所述頁面元素的CLASS屬 性的唯一性中的至少一項(xiàng),獲得所述頁面元素的路徑之后,還包括:
[0024] 建立所述目標(biāo)頁面與所述頁面元素的元素信息之間的對(duì)應(yīng)關(guān)系;其中,所述元素 信息包含所述頁面元素的名字屬性和所述頁面元素的路徑。
[00巧]本申請(qǐng)的另一方面,提供一種頁面元素的定位裝置,包括:
[0026] 確定單元,用于確定目標(biāo)頁面中待定位的頁面元素;
[0027] 定位單元,用于根據(jù)所述頁面元素的ID屬性的生成方式、所述頁面元素的自定義 屬性和所述頁面元素的CLASS屬性的唯一性中的至少一項(xiàng),獲得所述頁面元素的路徑;其 中,
[0028] 所述自定義屬性包括除了ID屬性和CLASS屬性之外的其他屬性。
[0029] 如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述定位單 元,具體用于
[0030] 若所述頁面元素包含ID屬性,且所述頁面元素的ID屬性中不包含動(dòng)態(tài)變化的字 符,將所述頁面元素的ID屬性,作為所述頁面元素的路徑;
[0031] 若所述頁面元素包含ID屬性,且所述頁面元素的ID屬性中包含動(dòng)態(tài)變化的字符, 將所述頁面元素的ID屬性中除了所述動(dòng)態(tài)變化的字符之外的部分,作為所述頁面元素的 路徑。
[0032] 如上所述的方面和任