,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖是本申請(qǐng)的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0036]圖1為本申請(qǐng)一實(shí)施例提供的頁面元素的ID屬性的處理方法的流程示意圖;
[0037]圖2為本申請(qǐng)另一實(shí)施例提供的頁面元素的ID屬性的處理裝置的結(jié)構(gòu)示意圖。
【【具體實(shí)施方式】】
[0038]為使本申請(qǐng)實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本申請(qǐng)實(shí)施例中的附圖,對(duì)本申請(qǐng)實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾?qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的全部其他實(shí)施例,都屬于本申請(qǐng)保護(hù)的范圍。
[0039]可以理解的是,本申請(qǐng)所涉及的頁面,也可以稱為Web頁面,可以是基于超文本標(biāo)記語言(HyperText Markup Language, HTML)編寫的網(wǎng)頁(Web Page),即 HTML頁面,或者還可以是基于HTML和Java語言編寫的網(wǎng)頁,即Java服務(wù)器頁面(Java Server Page7JSP),或者還可以為其他語言編寫的網(wǎng)頁,本實(shí)施例對(duì)此不進(jìn)行特別限定。
[0040]另外,本文中術(shù)語“和/或”,僅僅是一種描述關(guān)聯(lián)對(duì)象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,A和/或B,可以表示:單獨(dú)存在A,同時(shí)存在A和B,單獨(dú)存在B這三種情況。另外,本文中字符“/”,一般表示前后關(guān)聯(lián)對(duì)象是一種“或”的關(guān)系。
[0041]圖1為本申請(qǐng)一實(shí)施例提供的頁面元素的ID屬性的處理方法的流程示意圖,如圖1所示。
[0042]101、獲取目標(biāo)頁面元素的名稱。
[0043]可選地,在本實(shí)施例的一個(gè)可能的實(shí)現(xiàn)方式中,在101中,所獲取的所述目標(biāo)頁面元素可以包括但不限于原生頁面元素或自定義頁面元素,本實(shí)施例對(duì)此不進(jìn)行特別限定。
[0044]其中,所述的原生頁面元素,是指編程語言所定義的頁面元素,例如,HTML規(guī)范、Java語言規(guī)范等編程語言規(guī)范所定義的頁面元素,本實(shí)施例對(duì)此不進(jìn)行限定;所述的自定義頁面元素,是指除了編程語言規(guī)范所定義的頁面元素之外的其他頁面元素,例如,利用AngularJS框架所定義的擴(kuò)展頁面元素,本實(shí)施例對(duì)此不進(jìn)行限定。
[0045]所謂的AngularJS框架是Google開源的一款JavaScript模型視圖控制器(ModelView Controller, MVC)框架,彌補(bǔ)了 HTML語言在構(gòu)建頁面方面的不足,其通過使用指令(directives)結(jié)構(gòu)來擴(kuò)展HTML語言,使開發(fā)者可以使用HTML語言來聲明動(dòng)態(tài)內(nèi)容,從而使得Web開發(fā)和測(cè)試工作變得更加容易。
[0046]102、根據(jù)所述目標(biāo)頁面元素的名稱和所述目標(biāo)頁面元素所在頁面中出現(xiàn)在所述目標(biāo)頁面元素之前的其他頁面元素的名稱,獲得所述目標(biāo)頁面元素的名稱在所述目標(biāo)頁面元素所在頁面上的當(dāng)前出現(xiàn)次數(shù)。
[0047]可選地,在本實(shí)施例的一個(gè)可能的實(shí)現(xiàn)方式中,在102之前,獲取所述目標(biāo)頁面元素所在頁面的頁面結(jié)構(gòu)。具體地,可以根據(jù)頁面的頁面源代碼,獲得所述頁面的頁面結(jié)構(gòu)。
[0048]然后,則可以根據(jù)所述目標(biāo)頁面元素所在頁面的頁面結(jié)構(gòu),獲得所述目標(biāo)頁面元素所在頁面中出現(xiàn)在所述目標(biāo)頁面元素之前的其他頁面元素的名稱。
[0049]其中,所述的頁面結(jié)構(gòu),是指頁面源代碼的語言結(jié)構(gòu),例如,例如,HTML頁面源代碼的HTML語言結(jié)構(gòu)或JSP源代碼的HTML語言結(jié)構(gòu)等。頁面源代碼可以包括一個(gè)或者多個(gè)頁面標(biāo)簽例如,超文本標(biāo)記語言(HyperText Markup Language,HTML)標(biāo)簽、JSP標(biāo)簽等,定義的顯示區(qū)塊,稱為頁面元素,例如,文字、圖片、超鏈接、按鈕、輸入框、下拉框等。
[0050]可選地,在本實(shí)施例的一個(gè)可能的實(shí)現(xiàn)方式中,在102中,若所述目標(biāo)頁面元素的名稱與所述其他頁面元素中任一頁面元素的名稱不相同,則可以設(shè)置所述目標(biāo)頁面元素的名稱在所述目標(biāo)頁面元素所在頁面上的當(dāng)前出現(xiàn)次數(shù)為預(yù)先設(shè)置的初始值。
[0051]進(jìn)一步地,若所述目標(biāo)頁面元素的名稱與所述其他頁面元素中至少一個(gè)頁面元素的名稱相同,則可以更新所述相同的名稱在所述目標(biāo)頁面元素所在頁面上的當(dāng)前出現(xiàn)次數(shù)。
[0052]103、根據(jù)所述目標(biāo)頁面元素所對(duì)應(yīng)的預(yù)設(shè)參數(shù)和所述目標(biāo)頁面元素的名稱在所述目標(biāo)頁面元素所在頁面上的當(dāng)前出現(xiàn)次數(shù),獲得所述目標(biāo)頁面元素的ID屬性的屬性值。
[0053]可選地,在本實(shí)施例的一個(gè)可能的實(shí)現(xiàn)方式中,在103中,具體可以對(duì)所述目標(biāo)頁面元素所對(duì)應(yīng)的預(yù)設(shè)參數(shù)和所述目標(biāo)頁面元素的名稱在所述目標(biāo)頁面元素所在頁面上的當(dāng)前出現(xiàn)次數(shù)進(jìn)行字符串拼裝處理,以獲得所述目標(biāo)頁面元素的ID屬性的屬性值。
[0054]例如,可以將預(yù)設(shè)參數(shù)與當(dāng)前出現(xiàn)次數(shù),直接首尾連接,以生成目標(biāo)頁面元素的ID屬性的屬性值。例如,假設(shè)預(yù)設(shè)參數(shù)為Ρχ,當(dāng)前出現(xiàn)次數(shù)為N,則所生成的目標(biāo)頁面元素的ID屬性的屬性值為PxN。
[0055]或者,再例如,可以將預(yù)設(shè)參數(shù)與當(dāng)前出現(xiàn)次數(shù),通過指定字符如或等直接首尾連接,以生成目標(biāo)頁面元素的ID屬性的屬性值。例如,假設(shè)預(yù)設(shè)參數(shù)為Px,當(dāng)前出現(xiàn)次數(shù)為N,則所生成的目標(biāo)頁面元素的ID屬性的屬性值為Px_N。
[0056]或者,再例如,可以將預(yù)設(shè)參數(shù)截取指定長(zhǎng)度之后,與當(dāng)前出現(xiàn)次數(shù),直接首尾連接,以生成目標(biāo)頁面元素的ID屬性的屬性值。例如,假設(shè)預(yù)設(shè)參數(shù)為Px,當(dāng)前出現(xiàn)次數(shù)為N,則所生成的目標(biāo)頁面元素的ID屬性的屬性值為PN。
[0057]或者,再例如,可以將預(yù)設(shè)參數(shù)截取指定長(zhǎng)度之后,與當(dāng)前出現(xiàn)次數(shù),通過指定字符如或“_”等直接首尾連接,以生成目標(biāo)頁面元素的ID屬性的屬性值。例如,假設(shè)預(yù)設(shè)參數(shù)為Px,當(dāng)前出現(xiàn)次數(shù)為N,則所生成的目標(biāo)頁面元素的ID屬性的屬性值為P_N。
[0058]或者,再例如,可以將預(yù)設(shè)參數(shù)進(jìn)行指定變換之后,與當(dāng)前出現(xiàn)次數(shù),直接首尾連接,以生成目標(biāo)頁面元素的ID屬性的屬性值。例如,假設(shè)預(yù)設(shè)參數(shù)為Px,當(dāng)前出現(xiàn)次數(shù)為N,指定變換為大寫與小寫轉(zhuǎn)換,則所生成的目標(biāo)頁面元素的ID屬性的屬性值為pXN。
[0059]或者,再例如,可以將預(yù)設(shè)參數(shù)進(jìn)行指定變換之后,與當(dāng)前出現(xiàn)次數(shù),通過指定字符如或“_”等直接首尾連接,以生成目標(biāo)頁面元素的ID屬性的屬性值。例如,假設(shè)預(yù)設(shè)參數(shù)為Px,當(dāng)前出現(xiàn)次數(shù)為N,指定變換為大寫與小寫轉(zhuǎn)換,則所生成的目標(biāo)頁面元素的ID屬性的屬性值為pX_N。
[0060]需要說明的是,101?103的執(zhí)行主體可以為位于本地終端的應(yīng)用,或者還可以為位于本地終端的應(yīng)用中的插件或軟件開發(fā)工具包(Software Development Kit, SDK)等功能單元,這些功能單元具體可以由一系列編程語言代碼和編程語言代碼所實(shí)現(xiàn)的庫(kù)(例如,LIB庫(kù)等)組成,本實(shí)施例對(duì)此不進(jìn)行特別限定。
[0061]可以理解的是,所述應(yīng)用可以是安裝在終端上的本地程序(nativeApp),或者還可以是終端上的瀏覽器的一個(gè)網(wǎng)頁程序(webApp),本實(shí)施例對(duì)此不進(jìn)行限定。
[0062]為使得本申請(qǐng)實(shí)施例提供的方法更加清楚,下面將以利用AngularJS框架所定義的擴(kuò)展頁面元素為目標(biāo)頁面元素為例作為舉例。由于依賴于AngularJS框架提供的SrootScope服務(wù),因此,首先,需要在AngularJS框架中定義